1.简介
在rails中用migration可以很方便的管理数据库的结构。可以创建数据库,创建表,删除表,添加字段,删除字段,整理数据。
migration就是一系列的class,这些类都继承了ActiveRecord::Migration类。
class CreateProducts < ActiveRecord::Migration def up create_table :products do |t| t.string :name t.column :description, :text t.timestamps end end def down drop_table :products end end
上面就是一个migration例子。up方法中的代码会在
rake db:migrate
之后执行。
down方法中的代码会在
rake db:rollback
之后执行。
t.timestamps会自动产生created_at和updated_at列。
还可以进行表结构修改。
class AddReceiveNewsletterToUsers < ActiveRecord::Migration def up change_table :users do |t| t.boolean :receive_newsletter, :default => false end User.update_all ["receive_newsletter = ?", true] end def down remove_column :users, :receive_newsletter end end
rails3.1之后产生了一个新的方法change,主要用来创建表和列,不用写一对up和down了,使用rake db:rollback回滚的时候数据库不用down方法也知道如何做了。
1.1.migration提供了很多的方法
add_column
add_index
change_column
change_table
create_table
drop_table
remove_column
remove_index
rename_column
如果想回滚migration对数据库造成的改变,可以使用rake db:rollback命令。
1.2.ActiveRecord支持的列类型
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:primary_key
:string
:text
:time
:timestamp
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, migrations
, 方法
, activerecord
, migration
, end
, down
, migrate
, migrate使用
migrate命令
rails 迁移、rails 数据库迁移、rails api开发、rails 微信开发、rails开发工具,以便于您获取更多的相关知识。