Как изменить столбец таблицы с помощью Propel Migration и Symfony
У меня огромная проблема с миграцией propel в проекте Symfony. В первый раз я попытался изменить столбец таблицы, но всегда получал следующую ошибку в CLI:
$ php symfony propel:up
>> propel Executing migration PropelMigration_1340354091 up
>> Failed to execute SQL "ALTER TABLE `AEX_PROJECT` MODIFY `DESCRIPTION` VARCHAR(200)". Aborting migration. ...
Мой метод getUpSql() выглядит так:
public function getUpSQL()
{
return array (
'propel' => '
# This is a fix for InnoDB in MySQL >= 4.1.x
# It "suspends judgement" for fkey relationships until all tables are set.
SET FOREIGN_KEY_CHECKS = 0;
ALTER TABLE `AEX_PROJECT` MODIFY `DESCRIPTION` VARCHAR(2000);
# This restores the fkey checks, after having unset them earlier
SET FOREIGN_KEY_CHECKS = 1;
',
);
}
У меня заканчиваются идеи. Я также попробовал ALTER COLUMN или CHANGE. Я также пытался использовать различные типы запятых (например, 'или' или без запятой). Это работает, если я запускаю миграцию через PhpMyAdmin, но не через Propel Migration.
Я хочу знать, есть ли известная ошибка в Propel по этому поводу. Можно ли как-то обойти это?
1 ответ
Я думаю, что это очень простая ошибка, вы передаете varchar(2000), что точно не приемлемо:) используйте varchar(255) или используйте текст, проверьте документацию на текст