如何同时更改列的类型和默认值? Ruby 在 Rails

How to simultaneously change a column's type and default value? Ruby on Rails

the "Products" table in schema

db/schema中,table"products"包含一个列名"quantity" ,它的类型是 string 。 现在我想将其类型更改为整数,并设置默认值 1.

我分两步完成:

步骤 1

rails g migration change_products_quantity_column_type

填写change_column :products, :quantity, :integer

然后 rake db:migrate

步骤2

rails g migration set_default_value_to_quantity

填写change_column_default :products, :quantity, 1

然后 rake db:migrate

我可以一步完成吗?我的意思是结合上面的两个步骤。

change_column 有选项参数,所以你可以一步完成,像这样:

change_column :products, :quantity, :integer, default: 1