繁体   English   中英

如何通过'rails g migration'命令向要添加的列添加默认值

[英]How to add default value to a column being added through 'rails g migration' command

我知道如何在已创建的迁移文件中添加默认值。

`rails generate migration AddTestColumnToTesttable test_status:boolean` to create it.

它将生成此迁移:

class AddTestColumnToTable < ActiveRecord::Migration
  def change
    add_column :table, :test_status, :boolean, :default => true
  end
end

但是,我们可以通过rails g migration命令本身添加默认值吗?

,它不能从命令行完成,您需要在迁移文件中更改它

add_column :table, :test_status, :boolean, :default => true

希望有所帮助!

** Rails 4.X + **

现在,由于没有选项可以将新列添加到具有通过rails迁移中的终端定义的默认值的表, 因此要使用以下步骤将新列添加到具有默认值true或false的现有表。

1.从命令行运行迁移以添加新列

$ rails generate migration add_columnname_to_tablename columnname:boolean

上面的命令将在表中添加一个新列。

2.通过编辑创建的新迁移文件,将新列值设置为TRUE / FALSE。

class AddColumnnameToTablename < ActiveRecord::Migration
  def change
    add_column :tablename, :columnname, :boolean, default: false
  end
end

** 3。 要对应用程序数据库表进行更改,请在终端**中运行以下命令

$ rake db:migrate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM