diff options
Diffstat (limited to 'railties/lib/tasks/databases.rake')
-rw-r--r-- | railties/lib/tasks/databases.rake | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/railties/lib/tasks/databases.rake b/railties/lib/tasks/databases.rake index f8ae465315..e3177b2bdf 100644 --- a/railties/lib/tasks/databases.rake +++ b/railties/lib/tasks/databases.rake @@ -12,6 +12,20 @@ task :load_fixtures => :environment do end end +desc "Create a db/schema.rb file that can be portably used against any DB supported by AR." +task :db_schema_dump => :environment do + require 'active_record/schema_dumper' + File.open("db/schema.rb", "w") do |file| + ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file) + end +end + +desc "Import a schema.rb file into the database." +task :db_schema_import => :environment do + file = ENV['SCHEMA'] || "db/schema.rb" + load file +end + desc "Recreate the test databases from the development structure" task :clone_structure_to_test => [ :db_structure_dump, :purge_test_database ] do abcs = ActiveRecord::Base.configurations @@ -118,4 +132,4 @@ end desc "Drop and recreate the session table (much faster than 'DELETE * FROM sessions')" task :purge_sessions_table => [ :drop_sessions_table, :create_sessions_table ] do -end
\ No newline at end of file +end |