Skip to content

Commit 8327c58

Browse files
committed
Fix change_column re-adding indexes without their options (#1344)
1 parent 766b219 commit 8327c58

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

lib/active_record/connection_adapters/sqlserver/schema_statements.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,12 +210,14 @@ def change_column(table_name, column_name, type, options = {})
210210
sql_commands << "ALTER TABLE #{quote_table_name(table_name)} ADD CONSTRAINT #{default_constraint_name(table_name, column_name)} DEFAULT #{default} FOR #{quote_column_name(column_name)}"
211211
end
212212

213+
sql_commands.each { |c| execute(c) }
214+
213215
# Add any removed indexes back
214216
indexes.each do |index|
215-
sql_commands << "CREATE INDEX #{quote_table_name(index.name)} ON #{quote_table_name(table_name)} (#{index.columns.map { |c| quote_column_name(c) }.join(", ")})"
217+
create_index_def = CreateIndexDefinition.new(index)
218+
execute schema_creation.accept(create_index_def)
216219
end
217220

218-
sql_commands.each { |c| execute(c) }
219221
clear_cache!
220222
end
221223

0 commit comments

Comments
 (0)