aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/tasks
diff options
context:
space:
mode:
authorEdouard CHIN <edouard.chin@shopify.com>2017-06-21 13:54:14 -0400
committerEdouard CHIN <edouard.chin@shopify.com>2017-06-21 13:54:14 -0400
commitbed0fa8a88d8d51acb7d6084db76ab1cce7ecccc (patch)
treeb1b40c2fa703ebcc73b9e5c7d9005ee22d83656c /activerecord/lib/active_record/tasks
parent9cf7217909c30e5513f668e5c8aa105b04ba35fd (diff)
downloadrails-bed0fa8a88d8d51acb7d6084db76ab1cce7ecccc.tar.gz
rails-bed0fa8a88d8d51acb7d6084db76ab1cce7ecccc.tar.bz2
rails-bed0fa8a88d8d51acb7d6084db76ab1cce7ecccc.zip
pass `structure_dump_flags` / `structure_load_flags` options before any other:
- On Mysql, some command line options that affect option-file handling such as `--no-defaults` have to be passed before any other options - Modified rails to pass them right after the `mysql` command - Ref https://dev.mysql.com/doc/refman/5.7/en/option-file-options.html and https://bugs.mysql.com/bug.php?id=83386 - Ref #27437
Diffstat (limited to 'activerecord/lib/active_record/tasks')
-rw-r--r--activerecord/lib/active_record/tasks/mysql_database_tasks.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/tasks/mysql_database_tasks.rb b/activerecord/lib/active_record/tasks/mysql_database_tasks.rb
index 541165b3d1..5b1eba6345 100644
--- a/activerecord/lib/active_record/tasks/mysql_database_tasks.rb
+++ b/activerecord/lib/active_record/tasks/mysql_database_tasks.rb
@@ -59,7 +59,6 @@ module ActiveRecord
args.concat(["--no-data"])
args.concat(["--routines"])
args.concat(["--skip-comments"])
- args.concat(Array(extra_flags)) if extra_flags
ignore_tables = ActiveRecord::SchemaDumper.ignore_tables
if ignore_tables.any?
@@ -67,6 +66,7 @@ module ActiveRecord
end
args.concat(["#{configuration['database']}"])
+ args.insert(0, Array(extra_flags)).flatten! if extra_flags
run_cmd("mysqldump", args, "dumping")
end
@@ -75,7 +75,7 @@ module ActiveRecord
args = prepare_command_options
args.concat(["--execute", %{SET FOREIGN_KEY_CHECKS = 0; SOURCE #{filename}; SET FOREIGN_KEY_CHECKS = 1}])
args.concat(["--database", "#{configuration['database']}"])
- args.concat(Array(extra_flags)) if extra_flags
+ args.insert(0, Array(extra_flags)).flatten! if extra_flags
run_cmd("mysql", args, "loading")
end