rake db:migrate使用Mysql2失败::错误:行大小太大

时间:2012-08-26 06:59:51

标签: mysql ruby-on-rails

我正在运行rake db:为我的rails迁移失败并出现以下错误:

==  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)

此迁移在我的其他系统上运行正常,该系统具有相同的配置(相同的操作系统和数据库)。

我的MySQL数据库版本是服务器版本:5.5.24-0ubuntu0.12.04.1(Ubuntu)。

感谢任何帮助。

如果您需要任何信息,请告诉我。

由于

1 个答案:

答案 0 :(得分:1)

这可能不是问题,但通常字符串数据类型用于较少量的文本。我相信它使用VARCHAR(255)类型的MySQL。尝试将数据类型更改为文本。尝试将列限制为大于字符串可以支持的大小时可能存在一些冲突。