2015-08-28 102 views
1

我想知道是否有办法生成迁移,这些迁移以与创建表,添加或删除列相同的方式进行更改。如何生成迁移以更改Rails中的数据库列

E.g.创建一个表,我会用:

rails generate migration CreateProducts name:string part_number:string 

对于添加一列,我会用:

rails generate migration AddUserRefToProducts user:references 

我把这个例子从Rails Guides但对于改变专栏中,我找不到任何东西,让我们说要设置默认值。

+0

3.4节你的链接, “更改列”? –

+0

它显示了如何设置它,如果你有一个迁移文件,但我想知道如何创建这个文件的任务。 – Flip

+0

“rails g migration” - 或者你的意思是脚手架? –

回答

1

Rails Migrations

  • change_column(TABLE_NAME,列名,类型,选项):更改使用相同的参数作为add_column的列不同的类型。

例,迁移内:

class CahngeColumnInTablename < ActiveRecord::Migration 
    def change 
    change_column :tablename, :field, :string , default: <default_value> 
    end 
end