Permalink
Browse files

Add db_schema_dump and db_schema_import rake tasks to work with the n…

…ew 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
  • Loading branch information...
1 parent 7dc4581 commit 119855c438812fb60abc51d0ca6ab30f14713941 @jamis jamis committed Sep 23, 2005
Showing with 17 additions and 1 deletion.
  1. +2 −0 railties/CHANGELOG
  2. +15 −1 railties/lib/tasks/databases.rake
View
@@ -1,5 +1,7 @@
*SVN*
+* 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).
+
* Reformed all the config/environments/* files to conform to the new Rails::Configuration approach. Fully backwards compatible.
* Added create_sessions_table, drop_sessions_table, and purge_sessions_table as rake tasks for databases that supports migrations (MySQL, PostgreSQL, SQLite) to get a table for use with CGI::Session::ActiveRecordStore
@@ -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
+end

0 comments on commit 119855c

Please sign in to comment.