ruby-on-rails - 更快地编写此 rake 命令的方法 - rake db :drop db:create db:migrate db:seed

标签 ruby-on-rails ruby-on-rails-3 rake

每次对架构或新迁移文件进行更改时,我都会运行以下命令:

rake db:drop db:create db:migrate db:seed

是否有预先构建的等效方法来执行此操作?

我从我读到的内容中想到 rake db:reset并没有完全做同样的事情,但我可能是错的。

最佳答案

您可以为此创建自定义 rake 任务 - lib/tasks/db_rebuild_all.rake

namespace :db_tasks do
  desc "Rebuild database"
  task :rebuild, [] => :environment do
    raise "Not allowed to run on production" if Rails.env.production?

    Rake::Task['db:drop'].execute
    Rake::Task['db:create'].execute
    Rake::Task['db:migrate'].execute
    Rake::Task['db:seed'].execute
  end
end

然后运行 ​​bundle exec rake db_tasks:rebuild

关于ruby-on-rails - 更快地编写此 rake 命令的方法 - rake db :drop db:create db:migrate db:seed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14663963/

相关文章:

ruby-on-rails - 如何在 Rails 模型中获取完整的 Assets 路径

ruby-on-rails - Rails 方法易受 SQL 注入(inject)攻击?

mysql gem 与 mysql2 gem 和 'each_hash' 方法

ruby-on-rails-3 - BDD/TDD (Rails/Rspec) 入门

mysql - 由于错误的迁移而尝试重置我的数据库,如果没有 SQLException 甚至无法重置

console - 如何从控制台运行 rake 任务?

ruby-on-rails - 使用 Capybara(Rails、RSpec、Devise)测试注册和登录

ruby-on-rails-3 - Rails 搜索并重定向到另一个页面

ruby-on-rails - Rails 3 和 Angularjs 起源 http ://localhost is not allowed by Access-Control-Allow-Origin.

ruby-on-rails - $rake db :migrate An error has occurred, 这个和所有后来的迁移都被取消了