Skip to content

Commit b88b140

Browse files
committed
Table name truncated when renaming table
1 parent 18c01f7 commit b88b140

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

test/cases/coerced_tests.rb

+6-6
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ def migrate(x)
685685
connection.drop_table(long_table_name) rescue nil
686686
end
687687

688-
# Error message depends on the database adapter.
688+
# SQL Server truncates long table names when renaming (https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-rename-transact-sql?view=sql-server-ver16).
689689
coerce_tests! :test_rename_table_on_7_0
690690
def test_rename_table_on_7_0_coerced
691691
long_table_name = "a" * (connection.table_name_length + 1)
@@ -699,13 +699,13 @@ def migrate(x)
699699
end
700700
}.new
701701

702-
error = assert_raises(StandardError) do
703-
ActiveRecord::Migrator.new(:up, [migration], @schema_migration, @internal_metadata).migrate
704-
end
705-
assert_match(/The new name '#{long_table_name[0...-1]}' is already in use as a object name and would cause a duplicate that is not permitted/i, error.message)
702+
ActiveRecord::Migrator.new(:up, [migration], @schema_migration, @internal_metadata).migrate
703+
assert connection.table_exists?(long_table_name[0...-1])
704+
assert_not connection.table_exists?(:more_testings)
705+
assert connection.table_exists?(long_table_name[0...-1])
706706
ensure
707707
connection.drop_table(:more_testings) rescue nil
708-
connection.drop_table(long_table_name) rescue nil
708+
connection.drop_table(long_table_name[0...-1]) rescue nil
709709
end
710710

711711
# SQL Server has a different maximum index name length.

0 commit comments

Comments
 (0)