kid*_*rax 48 ruby ruby-on-rails rails-migrations
以下是否正确?
change_column :tablename, :fieldname, :limit => null
Run Code Online (Sandbox Code Playgroud)
Jer*_*ker 99
如果您之前在迁移中指定了限制并希望仅删除限制,则可以执行以下操作:
change_column :users, :column, :string, :limit => 255
Run Code Online (Sandbox Code Playgroud)
255是字符串列的标准长度,rails只会消除您之前指定的限制.
更新:
虽然这适用于许多Rails版本,但您可能更适合nil在Giuseppe的答案中使用.
change_column :users, :column, :string, :limit => nil
Run Code Online (Sandbox Code Playgroud)
这意味着你唯一错误的就是使用null而不是nil.
Giu*_*ppe 34
这是发生在我身上的事.
我意识到我在表中的字符串字段不足以保存其内容,因此我生成了一个包含以下内容的迁移:
def self.up
change_column :articles, :author_list, :text
end
Run Code Online (Sandbox Code Playgroud)
但是,在运行迁移之后,架构具有:
create_table "articles", :force => true do |t|
t.string "title"
t.text "author_list", :limit => 255
end
Run Code Online (Sandbox Code Playgroud)
哪个不行.那么我按照以下方式"重新"迁移迁移:
def self.up
# careful, it's "nil", not "null"
change_column :articles, :author_list, :text, :limit => nil
end
Run Code Online (Sandbox Code Playgroud)
这一次,schema.rb中的限制消失了:
create_table "articles", :force => true do |t|
t.string "title"
t.text "author_list"
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30336 次 |
| 最近记录: |