diff options
author | Yves Senn <yves.senn@gmail.com> | 2014-12-16 09:58:34 +0100 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2014-12-18 10:08:17 +0100 |
commit | 36ce0c2c821e2c9cca15e768842461f834825bf7 (patch) | |
tree | 7e1fbdc6ad9e5d03a9e3ab00ece9aad5fb9fe8a5 /activerecord | |
parent | c115a84c8b73363b281709a779a0fefbf7e46b13 (diff) | |
download | rails-36ce0c2c821e2c9cca15e768842461f834825bf7.tar.gz rails-36ce0c2c821e2c9cca15e768842461f834825bf7.tar.bz2 rails-36ce0c2c821e2c9cca15e768842461f834825bf7.zip |
`db:structure:load` and `db:schema:load` no longer purge the database.
Closes #17945
`db:test:prepare` still purges the database to always keep the test
database in a consistent state.
This patch introduces new problems with `db:schema:load`. Prior
to the introduction of foreign-keys, we could run this file against
a non-empty database. Since every `create_table` containted the
`force: true` option, this would recreate tables when loading the schema.
However with foreign-keys in place, `force: true` wont work anymore and
the task will crash.
/cc @schneems
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/CHANGELOG.md | 8 | ||||
-rw-r--r-- | activerecord/lib/active_record/tasks/database_tasks.rb | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index 72b770e2d5..28441e598e 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -1,3 +1,11 @@ +* `db:schema:load` and `db:structure:load` no longer purge the database + before loading the schema. This is left for the user to do. + `db:test:prepare` will still purge the database. + + Closes #17945. + + *Yves Senn* + * Fix undesirable RangeError by Type::Integer. Add Type::UnsignedInteger. *Ryuta Kamizono* diff --git a/activerecord/lib/active_record/tasks/database_tasks.rb b/activerecord/lib/active_record/tasks/database_tasks.rb index 1228de2bfd..6ed610e5f0 100644 --- a/activerecord/lib/active_record/tasks/database_tasks.rb +++ b/activerecord/lib/active_record/tasks/database_tasks.rb @@ -214,12 +214,10 @@ module ActiveRecord case format when :ruby check_schema_file(file) - purge(configuration) ActiveRecord::Base.establish_connection(configuration) load(file) when :sql check_schema_file(file) - purge(configuration) structure_load(configuration, file) else raise ArgumentError, "unknown format #{format.inspect}" |