欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7654481
在《Ruby on Rails,rake工具使用和数据库migrations迁移的概念》中,我们知道Rails中进行数据库迁移操作的基本概念和重要性。现在着手进行一个简单的数据库迁移实践吧。
所有的数据库迁移文件存放在simple_cms/db/migrations目录中,在之前我们没有做过创建迁移的操作所以这个目录还没有生成。
有两种方式来创建迁移工作,其一是创建模型的时候migration自动生成迁移文件,其二是直接创建迁移文件。
创建模型的同时生成迁移文件:
在simple_cms应用的根目录中,执行创建模型的命令。其中User是要创建的模型的名字(注意模型的命名一般来说是单数形式,创建出来的表自动是复数形式),如此做会在创建User模型的同时创建出迁移文件。回显提示创建出了名为“YYYYMMDDHHMMSS_create_users.rb”,以时间开头下划线分割每个单词的格式。
E:\greensoft\RailsInstaller\Sites\simple_cms>rails generate model User
invoke active_record
create db/migrate/20120613163730_create_users.rb
create app/models/user.rb
invoke test_unit
create test/unit/user_test.rb
create test/fixtures/users.yml
我们注意到从Rails3.1版本之后,生成的迁移文件中使用了更智能的change方法来代替传统的up和down方法。推荐只在change方法中加入与数据库结构相关的操作,这样即使不写回滚方法Rails也能在 收到回滚命令时做出正确 的操作,简直太贴心了!
class CreateUsers < ActiveRecord::Migration
def change
create_table :u