我正在运行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)。
感谢任何帮助。
如果您需要任何信息,请告诉我。
由于
答案 0 :(得分:1)
这可能不是问题,但通常字符串数据类型用于较少量的文本。我相信它使用VARCHAR(255)类型的MySQL。尝试将数据类型更改为文本。尝试将列限制为大于字符串可以支持的大小时可能存在一些冲突。