diff options
author | bogdanvlviv <bogdanvlviv@gmail.com> | 2017-09-12 10:08:16 +0300 |
---|---|---|
committer | bogdanvlviv <bogdanvlviv@gmail.com> | 2017-10-15 22:27:54 +0300 |
commit | 678e563da3e7cddca9501ec90cdd76ee399a62b1 (patch) | |
tree | e9463d1d603ace41a0270c8a987fb4b0a3bbc625 /railties | |
parent | 99b2bf8db39846897f017129a41efcffa840dc68 (diff) | |
download | rails-678e563da3e7cddca9501ec90cdd76ee399a62b1.tar.gz rails-678e563da3e7cddca9501ec90cdd76ee399a62b1.tar.bz2 rails-678e563da3e7cddca9501ec90cdd76ee399a62b1.zip |
`ActiveRecord::Tasks::DatabaseTasks.load_schema` has always to establish database connection
When load schema from `structure.sql`, database connection isn't
established. `ActiveRecord::Tasks::DatabaseTasks.load_schema` has to
establish database connection since it executes
```
ActiveRecord::InternalMetadata.create_table
ActiveRecord::InternalMetadata[:environment] = environment
```
Diffstat (limited to 'railties')
-rw-r--r-- | railties/test/application/rake/dbs_test.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/railties/test/application/rake/dbs_test.rb b/railties/test/application/rake/dbs_test.rb index 3057a0a3fb..fd22477539 100644 --- a/railties/test/application/rake/dbs_test.rb +++ b/railties/test/application/rake/dbs_test.rb @@ -189,6 +189,14 @@ module ApplicationTests db_structure_dump_and_load database_url_db_name end + test "db:structure:dump and db:structure:load set ar_internal_metadata" do + require "#{app_path}/config/environment" + db_structure_dump_and_load ActiveRecord::Base.configurations[Rails.env]["database"] + + assert_equal "test", rails("runner", "-e", "test", "puts ActiveRecord::InternalMetadata[:environment]").strip + assert_equal "development", rails("runner", "puts ActiveRecord::InternalMetadata[:environment]").strip + end + test "db:structure:dump does not dump schema information when no migrations are used" do # create table without migrations rails "runner", "ActiveRecord::Base.connection.create_table(:posts) {|t| t.string :title }" |