我已经搜索了如何在生产环境中为rails创建数据库并获得2个答案。现在我对这些答案感到困惑。
RAILS_ENV=production rake db:create db:schema:load
RAILS_ENV=production rake db:create
这两者有什么区别?这个架构意味着什么?
为什么我们需要db:schema:load
?
提前致谢。
答案 0 :(得分:7)
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以获取有关该主题的完整信息。