如何在不先删除数据库的情况下将带有rails的数据库迁移到第一个修订版?

Rud*_*ski 15 database migration rake ruby-on-rails

我为我的Rails安装设置了一个数据库,并设置了一些迁移.我希望能够将我的数据库重置为没有表/约束/等等,但是在不知道迁移次数或第一次迁移的时间戳的情况下找不到合理的方法.我看到以下是我的选择:

  • rake db:migrate:reset
  • rake db:migrate:down VERSION=20090701154839 其中20090701154839是与第一次迁移相关联的时间戳
  • rake db:rollback STEP=15 那里有15次迁移

的问题db:migrate:reset在于,它第一次下降到数据库(它db:drop,db:createdb:migrate).

问题db:migrate:down是我不想编码开头的VERSION.

问题db:rollback是我不知道它回到开头的步骤数.

我有什么选择?

jdl*_*jdl 25

rake db:migrate VERSION=0
Run Code Online (Sandbox Code Playgroud)

即使您使用较新的带时间戳的迁移文件,它也能正常工作.

更新:我刚刚在Rails 3.2.1上测试了它,它仍然有效.它运行已知的所有迁移的"向下"部分schema_migrations.我不知道它是否适用于3.1,但下面的评论表明此功能在此期间被破坏了.