aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorGuillermo Iguaran <guilleiguaran@gmail.com>2017-05-29 13:35:15 -0500
committerGitHub <noreply@github.com>2017-05-29 13:35:15 -0500
commite7a33a5ed74cc0987544396f0742110fa5a5e228 (patch)
tree15e6fd99ae5764d7926710bf04a96080f6016cd4 /activerecord/lib
parent1c275d812f35f53f93cd96184a4f319983766cc5 (diff)
parentde387ea482bd72bab9e81db47cf7a5991f25117c (diff)
downloadrails-e7a33a5ed74cc0987544396f0742110fa5a5e228.tar.gz
rails-e7a33a5ed74cc0987544396f0742110fa5a5e228.tar.bz2
rails-e7a33a5ed74cc0987544396f0742110fa5a5e228.zip
Merge pull request #29248 from yawboakye/rename-should-rename-table-pkey
`rename_table` should rename primary key index name
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
index 3eff9e2f83..55566f1e34 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
@@ -377,14 +377,15 @@ module ActiveRecord
clear_cache!
execute "ALTER TABLE #{quote_table_name(table_name)} RENAME TO #{quote_table_name(new_name)}"
pk, seq = pk_and_sequence_for(new_name)
- if seq && seq.identifier == "#{table_name}_#{pk}_seq"
- new_seq = "#{new_name}_#{pk}_seq"
+ if pk
idx = "#{table_name}_pkey"
new_idx = "#{new_name}_pkey"
- execute "ALTER TABLE #{seq.quoted} RENAME TO #{quote_table_name(new_seq)}"
execute "ALTER INDEX #{quote_table_name(idx)} RENAME TO #{quote_table_name(new_idx)}"
+ if seq && seq.identifier == "#{table_name}_#{pk}_seq"
+ new_seq = "#{new_name}_#{pk}_seq"
+ execute "ALTER TABLE #{seq.quoted} RENAME TO #{quote_table_name(new_seq)}"
+ end
end
-
rename_table_indexes(table_name, new_name)
end