如何生成迁移以更改 Rails 中的数据库列
How to generate migration to change database column in Rails
我想知道是否有一种方法可以生成以与创建 table、添加或删除列相同的方式更改某些内容的迁移。
例如为了创建 table 我会使用:
rails generate migration CreateProducts name:string part_number:string
要添加一个列,我会使用:
rails generate migration AddUserRefToProducts user:references
我从 Rails Guides 中获取了这个示例,但我找不到任何用于更改列的内容,假设设置默认值。
- change_column(table_name, column_name, type, options):使用与 add_column.[=18= 相同的参数将列更改为不同的类型]
示例,在您的迁移中:
class ChangeColumnInTablename < ActiveRecord::Migration
def change
change_column :tablename, :field, :string , default: <default_value>
end
end
我想知道是否有一种方法可以生成以与创建 table、添加或删除列相同的方式更改某些内容的迁移。
例如为了创建 table 我会使用:
rails generate migration CreateProducts name:string part_number:string
要添加一个列,我会使用:
rails generate migration AddUserRefToProducts user:references
我从 Rails Guides 中获取了这个示例,但我找不到任何用于更改列的内容,假设设置默认值。
- change_column(table_name, column_name, type, options):使用与 add_column.[=18= 相同的参数将列更改为不同的类型]
示例,在您的迁移中:
class ChangeColumnInTablename < ActiveRecord::Migration
def change
change_column :tablename, :field, :string , default: <default_value>
end
end