0

我在 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 中是否存在与此相关的已知错误。我可以以某种方式解决这个问题吗?

4

1 回答 1

0

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

于 2013-04-11T22:20:22.950 回答