【发布时间】:2013-05-08 02:52:25
【问题描述】:
This comment 说:
db:drop 在 db 不存在时可以正常运行
这正是我所需要的:我需要运行 db:drop 但如果数据库不存在则不抛出异常或停止我的整个进程,如果存在则删除数据库或什么都不做。
我该怎么做?如果数据库不存在,我如何告诉db:drop不要毁了我的生活?
这是我遇到问题的代码(它有帮助):
namespace :db do
task import: :environment do
Rake::Task["db:drop"].invoke # If the database doesn't already exist, the whole import process terminates!
Rake::Task["db:create"].invoke
Rake::Task["db:migrate"].invoke
database_config = Rails.configuration.database_configuration[Rails.env]
system "psql --username=#{database_config['username']} #{database_config['database']} < PostgreSQL.sql"
end
end
【问题讨论】:
标签: ruby-on-rails exception rake rake-task