我搜索了如何在Rails生产环境中创建数据库,并得到了两个答案。现在,我对这些答案感到困惑。
RAILS_ENV=production rake db:create db:schema:load
RAILS_ENV=production rake db:create
这两者有何不同?这个模式是什么意思?
我们为什么需要使用
db:schema:load
?提前感谢。
我搜索了如何在Rails生产环境中创建数据库,并得到了两个答案。现在,我对这些答案感到困惑。
RAILS_ENV=production rake db:create db:schema:load
RAILS_ENV=production rake db:create
db:schema:load
?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