From 119855c438812fb60abc51d0ca6ab30f14713941 Mon Sep 17 00:00:00 2001 From: Jamis Buck Date: Fri, 23 Sep 2005 13:45:32 +0000 Subject: Add db_schema_dump and db_schema_import rake tasks to work with the new ActiveRecord::SchemaDumper (for dumping a schema to and reading a schema from a ruby file). git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2313 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- railties/lib/tasks/databases.rake | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'railties/lib') 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 -- cgit v1.2.3