5

Ho cercato come creare db nell'ambiente di produzione per le rotaie e ho ottenuto 2 risposte. Ora sono confuso con quelle risposte.Crea DB in ambiente di produzione in rotaie

RAILS_ENV=production rake db:create db:schema:load 
RAILS_ENV=production rake db:create 

Qual è la differenza tra questi due? Cosa significa questo schema?

Perché abbiamo bisogno di db:schema:load?

Grazie in anticipo.

+0

Possibile duplicato di [Differenza tra rake db: migrate db: reset e db: schema: load] (http://stackoverflow.com/questions/10301794/difference-between-rake-dbmigrate-dbreset-and-dbschemaload) – mlt

risposta

6

RAILS_ENV=production rake db:create sarebbe creare il database per l'ambiente production,

mentre

RAILS_ENV=production rake db:schema:load sarebbe creare tabelle e colonne all'interno del database secondo l'schema.rb per l'ambiente 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 

Date un'occhiata a this file per informazioni complete sul tema.