【发布时间】:2011-05-25 12:22:21
【问题描述】:
我需要在我的 Rails 脚本中将列类型从文本更改为长文本,但找不到有关如何执行此操作的任何信息。
有人遇到过这个吗?
谢谢! 丹尼斯
【问题讨论】:
-
(至少对于 rails 2,你可以指定 type :longtext FWIW)
标签: ruby-on-rails migration ruby-on-rails-3
我需要在我的 Rails 脚本中将列类型从文本更改为长文本,但找不到有关如何执行此操作的任何信息。
有人遇到过这个吗?
谢谢! 丹尼斯
【问题讨论】:
标签: ruby-on-rails migration ruby-on-rails-3
text 类型为 MySQL 处理 tinytext、text、mediumtext 和 longtext,如果你正在使用的话。只需使用:limit => ...指定上限
例子:
change_column :articles, :body, :text, :limit => 4294967295
limit 的默认值为 65535,正如预期的那样。
1 to 255 bytes: TINYTEXT
256 to 65535 bytes: TEXT
65536 to 16777215 bytes: MEDIUMTEXT
16777216 to 4294967295 bytes: LONGTEXT
可以在here 找到 MySQL 文档。
【讨论】:
4.gigabytes - 1),否则会引发Mysql2::Error: Display width out of range for column ....。
16.megabytes - 1 的限制,但我仍然得到一个长文本,而不是中文本。知道为什么吗?谢谢。