这条评论说:
当 db 不存在时,db:drop 可以正常运行
这正是我所需要的:我需要运行 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