diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-01-02 13:37:26 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-01-02 13:37:26 -0300 |
commit | a908e01ac0cfd5b1d9cda57699037df8aa32df25 (patch) | |
tree | b2064b0448d01f1a8f306b17b77868390f33cec8 /activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb | |
parent | 78dab2a8569408658542e462a957ea5a35aa4679 (diff) | |
parent | 3628025c0dea3e08ea386700ec5eea27a26ce5d6 (diff) | |
download | rails-a908e01ac0cfd5b1d9cda57699037df8aa32df25.tar.gz rails-a908e01ac0cfd5b1d9cda57699037df8aa32df25.tar.bz2 rails-a908e01ac0cfd5b1d9cda57699037df8aa32df25.zip |
Merge pull request #18228 from kamipo/correctly_dump_primary_key
Improve a dump of the primary key support.
Conflicts:
activerecord/CHANGELOG.md
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb index 02cafc8079..6053e33a20 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb @@ -125,6 +125,21 @@ module ActiveRecord PostgreSQL::SchemaCreation.new self end + def column_spec_for_primary_key(column) + spec = {} + if column.serial? + return unless column.sql_type == 'bigint' + spec[:id] = ':bigserial' + elsif column.type == :uuid + spec[:id] = ':uuid' + spec[:default] = column.default_function.inspect + else + spec[:id] = column.type.inspect + spec.merge!(prepare_column_options(column).delete_if { |key, _| [:name, :type, :null].include?(key) }) + end + spec + end + # Adds +:array+ option to the default set provided by the # AbstractAdapter def prepare_column_options(column) # :nodoc: |