Merge pull request #20269 from wojobucco/master
Changed mysqldump to include sprocs and functions
This commit is contained in:
commit
27fdf4591d
@ -1,3 +1,7 @@
|
||||
* Include stored procedures and function on the MySQL structure dump.
|
||||
|
||||
*Jonathan Worek*
|
||||
|
||||
* Pass `:extend` option for `has_and_belongs_to_many` associations to the underlying `has_many :through`.
|
||||
|
||||
*Jaehyun Shin*
|
||||
|
@ -59,6 +59,7 @@ def structure_dump(filename)
|
||||
args = prepare_command_options('mysqldump')
|
||||
args.concat(["--result-file", "#{filename}"])
|
||||
args.concat(["--no-data"])
|
||||
args.concat(["--routines"])
|
||||
args.concat(["#{configuration['database']}"])
|
||||
unless Kernel.system(*args)
|
||||
$stderr.puts "Could not dump the database structure. "\
|
||||
|
@ -265,14 +265,14 @@ def setup
|
||||
|
||||
def test_structure_dump
|
||||
filename = "awesome-file.sql"
|
||||
Kernel.expects(:system).with("mysqldump", "--result-file", filename, "--no-data", "test-db").returns(true)
|
||||
Kernel.expects(:system).with("mysqldump", "--result-file", filename, "--no-data", "--routines", "test-db").returns(true)
|
||||
|
||||
ActiveRecord::Tasks::DatabaseTasks.structure_dump(@configuration, filename)
|
||||
end
|
||||
|
||||
def test_warn_when_external_structure_dump_fails
|
||||
filename = "awesome-file.sql"
|
||||
Kernel.expects(:system).with("mysqldump", "--result-file", filename, "--no-data", "test-db").returns(false)
|
||||
Kernel.expects(:system).with("mysqldump", "--result-file", filename, "--no-data", "--routines", "test-db").returns(false)
|
||||
|
||||
warnings = capture(:stderr) do
|
||||
ActiveRecord::Tasks::DatabaseTasks.structure_dump(@configuration, filename)
|
||||
@ -283,7 +283,7 @@ def test_warn_when_external_structure_dump_fails
|
||||
|
||||
def test_structure_dump_with_port_number
|
||||
filename = "awesome-file.sql"
|
||||
Kernel.expects(:system).with("mysqldump", "--port=10000", "--result-file", filename, "--no-data", "test-db").returns(true)
|
||||
Kernel.expects(:system).with("mysqldump", "--port=10000", "--result-file", filename, "--no-data", "--routines", "test-db").returns(true)
|
||||
|
||||
ActiveRecord::Tasks::DatabaseTasks.structure_dump(
|
||||
@configuration.merge('port' => 10000),
|
||||
@ -292,7 +292,7 @@ def test_structure_dump_with_port_number
|
||||
|
||||
def test_structure_dump_with_ssl
|
||||
filename = "awesome-file.sql"
|
||||
Kernel.expects(:system).with("mysqldump", "--ssl-ca=ca.crt", "--result-file", filename, "--no-data", "test-db").returns(true)
|
||||
Kernel.expects(:system).with("mysqldump", "--ssl-ca=ca.crt", "--result-file", filename, "--no-data", "--routines", "test-db").returns(true)
|
||||
|
||||
ActiveRecord::Tasks::DatabaseTasks.structure_dump(
|
||||
@configuration.merge("sslca" => "ca.crt"),
|
||||
|
Loading…
Reference in New Issue
Block a user