我知道如何在已创建的迁移文件中添加默认值。即,
`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
命令本身添加默认值吗?
答案 0 :(得分:13)
您无法从命令行执行此操作 - 您必须编辑迁移文件并将相应的行更改为
add_column :table, :test_status, :boolean, :default => true
来源 - how to set default value to column in rails while creating migration
答案 1 :(得分:5)
现在,由于没有选项可以将新列添加到具有通过rails migration中的terminal定义的默认值的表中, 以下步骤,将新列添加到现有表中,默认值为true或false。
$ rails generate migration add_columnname_to_tablename columnname:boolean
上面的命令会在表格中添加一个新列。
class AddColumnnameToTablename < ActiveRecord::Migration
def change
add_column :tablename, :columnname, :boolean, default: false
end
end
$ rake db:migrate