浏览网站上不同类型的数据库methods,我发现有rake:db:migrate
和rake:db:migrate:up
以及rake:db:migrate:down
。您何时可以使用up
和down
来电?是否只运行rake:db:migrate
和rake:db:rollback
执行您需要的所有操作?
答案 0 :(得分:1)
rake db:migrate
在db / migrate文件夹下运行所有迁移
rake db:migrate:up VERSION=20170130122612
用于启动特定迁移意味着它运行该迁移
rake db:migrate:down VERSION=20170130122612
用于关闭特定迁移意味着它可以逆转迁移
rake db:rollback
用于回滚上次迁移
答案 1 :(得分:0)
当您只有具有up方法的迁移时,您才使用
rake db:migrate:up
吗?
不,你使用
rake db:migrate:up VERSION=123456789
当您只想运行(UP)特定的迁移时。
Rails会自动使用change
up
方法,但如果down
,则会尽可能反转迁移
例如。
add_column :table_name, :column_name, :integer
变为
remove_column :table_name, :column_name
如果无法进行反转,则会提升IrreversibleMigrationError