Rails 数据库迁移命令的写法整理
创建迁移任务
rails g migration migration_name
一般创建完后,生成文件里有两个action,一个up(rails3.0以下版本是self.up),用于存放你要改变数据的指令,一个down(rails3.0以下版本是self.down),用于存放恢复刚才up的操作的指令。
3.1版rails开始,增加了change方法,它相当于以前的up,神奇的是它会自动推测你down的方法。如果有些up或down操作是不可逆的,建议还是自己写up和down方法。
创建表
create_table(table, options) do |t|
...columns...
end
删除表
drop_table(table)
重命名表
rename_table(table_old_name, table_new_name)
增加数据表的字段
add_column(table, column, type, options)
删除数据表中的字段
remove_column(table, column)
重命名数据表中的字段
rename_column(table, column_old_name, column_new_name)
修改数据表的字段
change_column(table, column, type, options)
给表字段添加默认值
change_column_default(table_name, column_name, default_value)
增加索引
add_index(table, column, options)
删除索引
remove_index(table, column)
还可以直接写sql语句执行
execute(sql_string)
我们写上边这些命令是为了将其变动应用到数据库,那我们需要执行以下命令来实现。
rake db:migrate