diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2019-04-04 02:17:33 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2019-04-04 04:16:24 +0900 |
commit | fe0145c58008d286e53486d94ceeff74dc2407ef (patch) | |
tree | b103353e16622fa3aa37304ee3a94bff97603769 /activerecord/test/cases | |
parent | 9bccf4604ff007f5a2474b91a10a285b1849b746 (diff) | |
download | rails-fe0145c58008d286e53486d94ceeff74dc2407ef.tar.gz rails-fe0145c58008d286e53486d94ceeff74dc2407ef.tar.bz2 rails-fe0145c58008d286e53486d94ceeff74dc2407ef.zip |
Respect table name prefix/suffix for `truncate_all`
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/migration/foreign_key_test.rb | 2 | ||||
-rw-r--r-- | activerecord/test/cases/tasks/database_tasks_test.rb | 58 |
2 files changed, 59 insertions, 1 deletions
diff --git a/activerecord/test/cases/migration/foreign_key_test.rb b/activerecord/test/cases/migration/foreign_key_test.rb index ba21923d79..5f1057f093 100644 --- a/activerecord/test/cases/migration/foreign_key_test.rb +++ b/activerecord/test/cases/migration/foreign_key_test.rb @@ -155,7 +155,7 @@ if ActiveRecord::Base.connection.supports_foreign_keys? class ForeignKeyChangeColumnWithSuffixTest < ForeignKeyChangeColumnTest setup do - ActiveRecord::Base.table_name_suffix = "_p" + ActiveRecord::Base.table_name_suffix = "_s" end teardown do diff --git a/activerecord/test/cases/tasks/database_tasks_test.rb b/activerecord/test/cases/tasks/database_tasks_test.rb index 06f11108f9..86f3e3bf23 100644 --- a/activerecord/test/cases/tasks/database_tasks_test.rb +++ b/activerecord/test/cases/tasks/database_tasks_test.rb @@ -50,6 +50,8 @@ module ActiveRecord protected_environments = ActiveRecord::Base.protected_environments current_env = ActiveRecord::Base.connection.migration_context.current_environment + InternalMetadata[:environment] = current_env + assert_called_on_instance_of( ActiveRecord::MigrationContext, :current_version, @@ -73,6 +75,9 @@ module ActiveRecord def test_raises_an_error_when_called_with_protected_environment_which_name_is_a_symbol protected_environments = ActiveRecord::Base.protected_environments current_env = ActiveRecord::Base.connection.migration_context.current_environment + + InternalMetadata[:environment] = current_env + assert_called_on_instance_of( ActiveRecord::MigrationContext, :current_version, @@ -951,11 +956,22 @@ module ActiveRecord fixtures :authors, :author_addresses + def setup + SchemaMigration.create_table + SchemaMigration.create!(version: "foo") + InternalMetadata.create_table + InternalMetadata.create!(key: "foo", value: "bar") + end + def teardown + SchemaMigration.drop_table + InternalMetadata.drop_table ActiveRecord::Base.connection_handlers = { writing: ActiveRecord::Base.default_connection_handler } end def test_truncate_tables + assert_operator SchemaMigration.count, :>, 0 + assert_operator InternalMetadata.count, :>, 0 assert_operator Author.count, :>, 0 assert_operator AuthorAddress.count, :>, 0 @@ -969,12 +985,54 @@ module ActiveRecord ) end + assert_operator SchemaMigration.count, :>, 0 + assert_operator InternalMetadata.count, :>, 0 assert_equal 0, Author.count assert_equal 0, AuthorAddress.count ensure ActiveRecord::Base.configurations = old_configurations end end + + class DatabaseTasksTruncateAllWithPrefixTest < DatabaseTasksTruncateAllTest + setup do + ActiveRecord::Base.table_name_prefix = "p_" + + SchemaMigration.reset_table_name + SchemaMigration.reset_column_information + InternalMetadata.reset_table_name + InternalMetadata.reset_column_information + end + + teardown do + ActiveRecord::Base.table_name_prefix = nil + + SchemaMigration.reset_table_name + SchemaMigration.reset_column_information + InternalMetadata.reset_table_name + InternalMetadata.reset_column_information + end + end + + class DatabaseTasksTruncateAllWithSuffixTest < DatabaseTasksTruncateAllTest + setup do + ActiveRecord::Base.table_name_suffix = "_s" + + SchemaMigration.reset_table_name + SchemaMigration.reset_column_information + InternalMetadata.reset_table_name + InternalMetadata.reset_column_information + end + + teardown do + ActiveRecord::Base.table_name_suffix = nil + + SchemaMigration.reset_table_name + SchemaMigration.reset_column_information + InternalMetadata.reset_table_name + InternalMetadata.reset_column_information + end + end end class DatabaseTasksTruncateAllWithMultipleDatabasesTest < ActiveRecord::TestCase |