您是否只使用rake:db:migrate:当您只有具有up方法的迁移时?

时间:2017-05-09 07:21:39

标签: ruby-on-rails database migration migrate

浏览网站上不同类型的数据库methods,我发现有rake:db:migraterake:db:migrate:up以及rake:db:migrate:down。您何时可以使用updown来电?是否只运行rake:db:migraterake:db:rollback执行您需要的所有操作?

2 个答案:

答案 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