46
A
回答
90
,并希望只是删除了极限,你可以这样做:
change_column :users, :column, :string, :limit => 255
255是一个字符串列的标准长度,并且rails会消除您先前指定的限制。
更新时间:
虽然这部作品在一些Rails的版本,你很可能会更适合在朱塞佩的答案使用nil
等。
change_column :users, :column, :string, :limit => nil
这意味着你在做错误的唯一的事情是使用null
代替nil
。
0
字符串没有限制是不是大多数的数据库支持:你在varchar(SIZE)
定义指定大小。
虽然你可以尝试,我个人会与:limit => BIG_ENOUGH_NUMBER
去。您也可以考虑将CLOB类型用于非常大的文本。
0
为了让DB-驾驶员无关的人应该写水木清华这样的:如果此前指定了在迁移的限制
add_column :tablename, :fieldname_tmp, :text
Tablename.reset_column_information
Tablename.update_all("fieldname_tmp = fieldname")
remove_column :tablename, :fieldname
rename_column :tablename, :fieldname_tmp, :fieldname
3
将列类型更改为:text
。它没有限制。
change_column :tablename, :fieldname, :text, :limit => nil
34
这是我发生了什么事。
我意识到,一个字符串字段我有一个表是不是足以容纳它的内容,所以我产生包含迁移:
def self.up
change_column :articles, :author_list, :text
end
运行迁移后,但是,该模式有:
create_table "articles", :force => true do |t|
t.string "title"
t.text "author_list", :limit => 255
end
哪一个不好。
def self.up
# careful, it's "nil", not "null"
change_column :articles, :author_list, :text, :limit => nil
end
这一次,极限schema.rb不见了:
create_table "articles", :force => true do |t|
t.string "title"
t.text "author_list"
end
+0
对我来说我需要rake db:migrate:reset要真正改变限制,并且应该小心那个命令,导致它丢弃数据库。 – p1100i 2012-11-08 17:07:28
0
我是同一条船上的今天,试图消除限制我于是我如下“重做”迁移'd添加到文本字段,它不会采取。尝试了几次迁移。
Rails的4.2.7.1 红宝石2.3.1p112
最终,只有工作在指定的255极限努力适应别的也不会为我工作的事情。
相关问题
- 1. 导轨删除旧模型迁移
- 2. Django迁移删除字段
- 3. 删除过去的轨道迁移
- 4. 删除/“重新激活”轨道迁移
- 5. 删除轨道表和迁移
- 6. 架构字段在导轨迁移上排序
- 7. 导轨迁移脚本VS控制台
- 8. 如何创建迁移删除轨道上的红宝石
- 9. 如何捕获导轨迁移错误?
- 10. 导轨形式:如何限制输入字段中的字符数(数字)
- 11. 在导轨迁移中加载数据?
- 12. 在迁移期间删除`not null`限制
- 13. 如何删除导轨中的项目?
- 14. 在Rails迁移中创建索引时,如何限制字段长度?
- 15. 我如何根据迁移制作导轨3模型类型?
- 16. 删除迁移导致异常
- 17. 删除Django迁移
- 18. 如何在迁移过程中复制字段值?
- 19. Laravel迁移 - 不删除未在迁移中定义的表?
- 20. 如何向下迁移轨道中的迁移列表
- 21. 如何在迁移期间控制创建字段的顺序
- 22. 导轨 - 上删除
- 23. 删除导轨/ Spree图片上传限制?
- 24. 如何模拟已删除的自定义字段以便南迁移运行?
- 25. 导轨迁移。修改auto_increment的起点
- 26. 在Laravel迁移中删除外键
- 27. 如何删除限制组
- 28. 还原迁移上删除NOT NULL字段
- 29. 如何在迁移中删除表的外键和主键?
- 30. 回滚所有导轨迁移或删除表并修改迁移(从头开始)
这是不正确的...如果你只是简单地将字符串从字符串转换为文本,rake db:migrate将会保留这个限制,当你尝试使用heroku rake时,会遇到一些问题:schema:load – jpwynn 2011-02-02 22:40:09