Php 如何使用推进迁移和Symfony修改表的列

Php 如何使用推进迁移和Symfony修改表的列,php,mysql,symfony1,migration,propel,Php,Mysql,Symfony1,Migration,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)". Abor

我在一个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;
    ',
);
}
我的点子快用完了。我还试着改变列或更改。我还尝试了不同类型的逗号(例如“或”或“无逗号”),如果我通过PhpMyAdmin运行迁移,而不是通过推进迁移,那么它是有效的


我想知道Propel中是否存在与此相关的已知错误。我是否可以以某种方式解决此问题?

我认为这是一个非常基本的错误,您正在传递varchar(2000),这肯定是不可接受的:) 使用varchar(255)或使用text,检查文档中的文本