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