我为我的Rails安装设置了一个数据库,并设置了一些迁移.我希望能够将我的数据库重置为没有表/约束/等等,但是在不知道迁移次数或第一次迁移的时间戳的情况下找不到合理的方法.我看到以下是我的选择:
rake db:migrate:resetrake db:migrate:down VERSION=20090701154839 其中20090701154839是与第一次迁移相关联的时间戳rake db:rollback STEP=15 那里有15次迁移的问题db:migrate:reset在于,它第一次下降到数据库(它db:drop,db:create话db:migrate).
问题db:migrate:down是我不想编码开头的VERSION.
问题db:rollback是我不知道它回到开头的步骤数.
我有什么选择?
现在我的方法是一次列出每个表并调用.delete_all它.这是重复的:
例:
#app/db/seeds.rb
Blog.delete_all
Person.delete_all
Post.delete_all
User.delete_all
Author.delete_all
Book.delete_all
# ... on and on for all the tables
Run Code Online (Sandbox Code Playgroud)
然后当然运行rake db:seed将清除上表中的所有记录.
是否有一个命令完全符合我的要求:
或者,有没有办法迭代我的所有表和.delete_all每个表?