aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/tasks/mysql_database_tasks.rb
diff options
context:
space:
mode:
authorCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2012-06-20 10:12:27 -0700
committerCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2012-06-20 10:12:27 -0700
commit323ee207cbbcd66574045ebedd30765da10d3f6f (patch)
tree76c40fc967ad252da660115f386cd911c2a1f570 /activerecord/lib/active_record/tasks/mysql_database_tasks.rb
parent1bdc098d9771ed5639de87ea6e94e80372b76a26 (diff)
parent30c84aababbd9411a0820e9e238f12b4c6054714 (diff)
downloadrails-323ee207cbbcd66574045ebedd30765da10d3f6f.tar.gz
rails-323ee207cbbcd66574045ebedd30765da10d3f6f.tar.bz2
rails-323ee207cbbcd66574045ebedd30765da10d3f6f.zip
Merge pull request #6798 from kennyj/db-rake-structure-load
Refactor db:structure:load task.
Diffstat (limited to 'activerecord/lib/active_record/tasks/mysql_database_tasks.rb')
-rw-r--r--activerecord/lib/active_record/tasks/mysql_database_tasks.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/tasks/mysql_database_tasks.rb b/activerecord/lib/active_record/tasks/mysql_database_tasks.rb
index 052ab60e81..b39cd2282f 100644
--- a/activerecord/lib/active_record/tasks/mysql_database_tasks.rb
+++ b/activerecord/lib/active_record/tasks/mysql_database_tasks.rb
@@ -49,6 +49,14 @@ module ActiveRecord
File.open(filename, "w:utf-8") { |f| f << ActiveRecord::Base.connection.structure_dump }
end
+ def structure_load(filename)
+ establish_connection(configuration)
+ connection.execute('SET foreign_key_checks = 0')
+ IO.read(filename).split("\n\n").each do |table|
+ connection.execute(table)
+ end
+ end
+
private
def configuration