From cfebf08d6a3af57e2b4585ac50350bec6b2d06d9 Mon Sep 17 00:00:00 2001 From: Michel Grootjans Date: Mon, 14 Jan 2013 13:19:44 +0100 Subject: [PATCH 1/3] clear_table_cache before each rename_column Fixing issue https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/issues/237 Not sure if this is the optimal solution, but it should work. --- .../connection_adapters/sqlserver/schema_statements.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/active_record/connection_adapters/sqlserver/schema_statements.rb b/lib/active_record/connection_adapters/sqlserver/schema_statements.rb index df7e78235..f1b0612b3 100644 --- a/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +++ b/lib/active_record/connection_adapters/sqlserver/schema_statements.rb @@ -80,6 +80,7 @@ def change_column_default(table_name, column_name, default) end def rename_column(table_name, column_name, new_column_name) + connection.schema_cache.clear_table_cache!(table_name) detect_column_for! table_name, column_name do_execute "EXEC sp_rename '#{table_name}.#{column_name}', '#{new_column_name}', 'COLUMN'" end From 166c64ff279a1ca530a94662fb2b720eb1f30712 Mon Sep 17 00:00:00 2001 From: Michel Grootjans Date: Mon, 14 Jan 2013 13:30:41 +0100 Subject: [PATCH 2/3] ignore rubymine-generated files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1ce5ead37..0619b84bf 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ Gemfile.lock test/profile/output/* .rvmrc .rbenv-version +.idea \ No newline at end of file From ddc11abb4c2a35591b721c4770e8d143a4fbf451 Mon Sep 17 00:00:00 2001 From: Michel Grootjans Date: Mon, 14 Jan 2013 13:33:09 +0100 Subject: [PATCH 3/3] bugfix --- .../connection_adapters/sqlserver/schema_statements.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/active_record/connection_adapters/sqlserver/schema_statements.rb b/lib/active_record/connection_adapters/sqlserver/schema_statements.rb index f1b0612b3..bef24312f 100644 --- a/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +++ b/lib/active_record/connection_adapters/sqlserver/schema_statements.rb @@ -80,7 +80,7 @@ def change_column_default(table_name, column_name, default) end def rename_column(table_name, column_name, new_column_name) - connection.schema_cache.clear_table_cache!(table_name) + schema_cache.clear_table_cache!(table_name) detect_column_for! table_name, column_name do_execute "EXEC sp_rename '#{table_name}.#{column_name}', '#{new_column_name}', 'COLUMN'" end