Dav*_*edy 15 rake ruby-on-rails
我对默认的Rails Rake任务的预期用途感到有些困惑,并且想知道我是应该使用db:reset还是编写自定义Rake任务.没有什么聪明的,只是每天的家务管理,我可能会错过一个明显的文档,因为我是Rails的新手.
我的问题:我想丢弃我的数据库并从一个完全干净的设置运行,以便我可以确定数据库只包含已知数据.这对于演示准备,调试以及确保Jenkins在测试中进行类似比较非常有用.
目前,我写的是这样的:
bin/rake db:drop:all db:create:all db:migrate db:seed db:test:prepare
Run Code Online (Sandbox Code Playgroud)
这需要输入很多,但只在dev和test数据库中保留种子数据.我不确定这有什么不同db:reset,哪种类型更方便.
我应该使用db:reset还是编写自定义db:from_scratch任务?
Phi*_*ley 21
你应该使用:
rake db:reset
Run Code Online (Sandbox Code Playgroud)
这将删除数据库,重新创建它并将当前架构加载到其中.
有关rake db任务的完整列表:
rake --describe db
Run Code Online (Sandbox Code Playgroud)
如果您的需求发生变化,那么编写自定义rake任务会更好,您可以在其中应用自己的自定义.
如果您不确定rake任务的作用,那么我建议不要使用它.在这种情况下,你可能还可以,但db:reset不等同于你上面所做的.db:reset从scheme.rb重新创建数据库,这可能会有所不同,因为您可能已经编写了尚未运行的迁移.
我建议你使用自定义rake任务,然后你可以修改它以适合你的确切目的,特别是如果你也想执行其他任务(例如在git中标记)
| 归档时间: |
|
| 查看次数: |
15054 次 |
| 最近记录: |