这是我的创建表迁移。请注意,我没有提供price
的默认值。
class CreateProducts < ActiveRecord::Migration[5.0]
def change
create_table :products do |t|
t.string :name
t.decimal :price, precision: 8, scale: 2
t.timestamps
end
end
end
现在我想设置一个默认值。根据{{3}},我应该提供from
以使其可逆。我应该提供什么价值?
class ChangeProductsPriceDefault < ActiveRecord::Migration[5.0]
def change
change_column_default :products, :price, from: 'WHAT_TO_WRITE_HERE?', to: 0
end
end
答案 0 :(得分:4)
&#34;没有默认&#34;表示默认值为NULL,因此:
change_column_default :products, :price, from: nil, to: 0
默认情况下有关于nil的说明:http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-change_column_default