2012-08-26 41 views
0

我跑耙分貝:遷移我的軌道失敗並出現以下錯誤:耙分貝:遷移失敗,Mysql2 ::錯誤:行大小太大

== AddColumnsToSavedSearch: migrating ======================================== 
-- add_column(:saved_searches, :search_param1, :string, {:limit=>1000}) 
    -> 0.0574s 
-- add_column(:saved_searches, :search_param2, :string, {:limit=>1000}) 
rake aborted! 
An error has occurred, all later migrations canceled: 

Mysql2::Error: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs: ALTER TABLE `saved_searches` ADD `search_param2` varchar(1000) 

這種遷移運行在我的其他罰款系統具有相同的配置(相同的OS和DB)。

我的MySQL數據庫版本是服務器版本:5.5.24-0ubuntu0.12.04.1(Ubuntu)。

任何幫助表示讚賞。

如果您需要任何信息,請讓我知道。

感謝

+0

運行遷移之前,該表的行大小(以字節爲單位)是多少? – Zabba

回答

1

這可能不是問題,但一般用於小批量的文本字符串數據類型。我相信它使用MySQL的VARCHAR(255)類型。嘗試將數據類型更改爲文本。嘗試將列限制爲大於字符串可支持的大小時可能會有一些衝突。

+0

我很確定這就是問題所在。 ;) –

+0

謝謝。我更改了遷移文件並刪除了限制,這一次遷移已經完成。感謝你的幫助。 –

+0

沒問題,很高興我能幫到你。 – anxiety