2010-09-28 8 views

Odpowiedz

70

Odpowiedź jest prosta: z bazy danych.

Przy okazji - jeśli spojrzeć do kodu źródłowego DB: * zadań (.../activerecord/railties/databases.rake) widać, że zadania migracji wymaga schematu: zrzucić po biegu

desc "Migrate the database (options: VERSION=x, VERBOSE=false)." 
task :migrate => :environment do 
    ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true 
    ActiveRecord::Migrator.migrate("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil) 
    Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby 
end 

Tak więc migracja działa w taki sposób, że zmienia bazę danych i , a następnie generuje plik schema.rb.