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

Do you only use rake:db:migrate:up when you only have migrations that have a up method in them?

查看网站上不同类型的数据库 methods,我看到有 rake:db:migraterake:db:migrate:uprake:db:migrate:down。您什么时候使用 updown 调用? 运行 rake:db:migraterake:db:rollback 不就是你需要的一切吗?

Do you only use rake db:migrate:up when you only have migrations that have a up method in them?

不,您使用

rake db:migrate:up VERSION=123456789

当您只想 运行 (UP) 特定迁移时。

Rails 自动为 up 使用 change 方法,但在 down 的情况下,它将尽可能尝试反转迁移

例如。

add_column :table_name, :column_name, :integer

变成

remove_column :table_name, :column_name

如果反转不可能rails将加注IrreversibleMigrationError

rake db:migrate 到 运行 db/migrate 文件夹下的所有迁移

rake db:migrate:up VERSION=20170130122612 用于向上特定迁移意味着它 运行 是迁移

rake db:migrate:down VERSION=20170130122612 用于关闭特定迁移意味着它反转迁移

rake db:rollback用于回滚上次迁移