Raj*_*tan 10 ruby-on-rails database-migration rails-activerecord
我知道如何在已创建的迁移文件中添加默认值.即
`rails generate migration AddTestColumnToTesttable test_status:boolean` to create it.
Run Code Online (Sandbox Code Playgroud)
它将生成此迁移:
class AddTestColumnToTable < ActiveRecord::Migration
def change
add_column :table, :test_status, :boolean, :default => true
end
end
Run Code Online (Sandbox Code Playgroud)
但是,我们可以通过rails g migration命令本身添加默认值吗?
Raj*_*ngh 15
您不能从命令行执行此操作 - 您必须编辑迁移文件并将相应的行更改为类似的行
add_column :table, :test_status, :boolean, :default => true
Run Code Online (Sandbox Code Playgroud)
现在,由于没有选项可以将新列添加到具有通过rails迁移中的终端定义的默认值的表中,所以要 使用以下步骤将新列添加到具有默认值true或false的现有表.
$ rails generate migration add_columnname_to_tablename columnname:boolean
Run Code Online (Sandbox Code Playgroud)
上面的命令将在表中添加一个新列.
class AddColumnnameToTablename < ActiveRecord::Migration
def change
add_column :tablename, :columnname, :boolean, default: false
end
end
Run Code Online (Sandbox Code Playgroud)
$ rake db:migrate
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16978 次 |
| 最近记录: |