【问题标题】:Create DB in production environment in rails在 Rails 的生产环境中创建数据库
【发布时间】:2014-10-26 06:59:23
【问题描述】:
我已经搜索了如何在生产环境中为 rails 创建数据库并得到 2 个答案。现在我对这些答案感到困惑。
RAILS_ENV=production rake db:create db:schema:load
RAILS_ENV=production rake db:create
这两者有什么区别?这个架构是什么意思?
为什么我们需要db:schema:load?
提前致谢。
【问题讨论】:
标签:
ruby-on-rails
database
ruby-on-rails-4
schema
production-environment
【解决方案1】:
RAILS_ENV=production rake db:create 将为production 环境创建数据库,
而
RAILS_ENV=production rake db:schema:load 将根据schema.rb 为production 环境在数据库中创建表和列。
task :load => [:environment, :load_config] do
ActiveRecord::Tasks::DatabaseTasks.load_schema_current(:ruby, ENV['SCHEMA'])
end
task :create => [:load_config] do
ActiveRecord::Tasks::DatabaseTasks.create_current
end
查看this file 以获取有关该主题的完整信息。