aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/tasks/databases.rake
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/tasks/databases.rake')
-rw-r--r--railties/lib/tasks/databases.rake16
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