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 に既知のバグがあるかどうか知りたいです。何とかこれを回避できますか?