2012-06-22 35 views
0

我在symfony項目中推進移植時遇到了很大的問題。對於第一次,我試圖改變表的列,但我總是得到的CLI以下錯誤:如何使用Propel Migration和Symfony修改表格的列

$ 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遷移。

我想知道Propel中是否存在已知錯誤關於這個問題,我能解決這個問題嗎?

回答

0

我認爲它是一個非常基本的錯誤,你傳遞varchar(2000)這是不可接受的肯定:) 使用varchar(255)或使用文本,檢查文檔文字