Rails Migration 备忘录

Migration命名

1、文件名的格式为:

YYYYMMDDHHMMSS_create_products.rb

前面“YYYYMMDDHHMMSS”部分为UTC时间戳。

2、类名遵循驼峰式命名格式

如:CreateProducts

3、类名与文件名的后半部分保持一致

如果修改文件名,则必须修改文件中的类名,否则会报 missing class 的错误。

例如

文件名: 20080906120000_create_products.rb

对应类名:CreateProducts

文件名:20080906120001_add_details_to_products.rb

对应类名:AddDetailsToProducts

 

Migration任务总结

1、建立数据表:create_table

常配合使用方法为:add_column

例如: create_table :suppliers add_column :suppliers, :name, :string, {:limit => 60}

比较sexy的写法                                

create_table :suppliers do |t|  

        t.string :name,

end

2、变更数据表:change_table

常配合使用的方法为:

add_column  对应sexy写法:t.column 或者 t.string(integer...)

change_column

remove_column  对应sexy写法:t.remove

rename_column

change_column_default

 

add_index  对应sexy写法:t.index

remove_index  对应sexy写法:t.remove_index

rename_index

 

add_timestamps

remove_timestamps

 

3、重命名数据表:rename_table

 

Rake任务总结

1、单纯地执行所有还未执行的迁移任务中的up(或是change中的up)方法

rake db:migrate

指定版本:

rake db:migrate VERSION=20080906120000 

2、执行最后一个迁移任务的down方法

rake db:rollback

指定最后几步的迁移任务,默认为最后一个:

rake db:rollback STEP=3 

3、执行一个指定的migration的up或down方法,需指定版本号

rake db:migrate:up VERSION=20080906120000

rake db:migrate:down VERSION=20080906120000

它会首先确认这个migration之前有没有跑过,如果Active Record认为20080906120000已经跑过,那么执行 db:migrate:up VERSION=20080906120000将不会做任何操作。

转载于:https://www.cnblogs.com/yigefaxian/archive/2012/11/22/2782131.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值