迁移任务
class ExampleForMigration < ActiveRecord::Migration def change #创建表并添加表字段 create_table :table_name do |t| t.column_type :column_name #t.integer :quantity, :null => false, :default => 5, :limit => 20 #t.references :table 等同于 t.integer :table_id t.timestamps #创建created_at与updated_at end #删除表 drop_table :table_name #重命名表 rename_table :old_table_name, :new_table_name #change_table #添加列 add_column :table_name, :column_name, :type, :options #重命名列 rename_column :table_name, :old_column_name, :new_column_name #改变字段类型,直接写改变后的type change_column :table_name, :column_name, :type, :options #删除列 remove_column :table_name, :column_name #创建索引 add_index :table_name, :column_name, :options #删除索引 remove_index :table_name, :index endendrake db:migrate #执行迁移任务,改变数据库结构rake db:migrate RAILS_ENV=production #针对production模式使用的数据库执行迁移任务rake db:migrate:allrake db:create RAILS_ENV=testrake db:drop:allrake db:rollback STEP=n恢复到上n个迁移任务的动作rake db:migrate:up VERSION=20130729143123 #执行迁移任务至指定版本rake db:migrate:down VERSIION=20130729143022 #回滚至指定版本的迁移任务rake db:version #查询当前迁移任务版本rake db:seed #载入种子资料,运行项目所必须的基础数据
?