5

Ich habe gesucht, wie db in Produktionsumgebung für Schienen zu erstellen und bekam 2 Antworten. Jetzt bin ich mit diesen Antworten verwirrt.DB in Produktionsumgebung in Schienen erstellen

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

Was ist der Unterschied zwischen diesen beiden? Was bedeutet dieses Schema?

Warum brauchen wir db:schema:load?

Vielen Dank im Voraus.

+0

Mögliches Duplikat von [Unterschied zwischen Rake db: migrate db: reset und db: schema: load] (http://stackoverflow.com/questions/10301794/difference-between-rake-dbmigrate-dbreset-and-dbschemaload) – mlt

Antwort

6

RAILS_ENV=production rake db:create würde die Datenbank für die production Umgebung schaffen,

während

RAILS_ENV=production rake db:schema:load würden Erstellen von Tabellen und Spalten in der Datenbank nach den schema.rb für die production Umwelt.

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 

Werfen Sie einen Blick auf this file für vollständige Informationen zum Thema.