diff options
author | Brian Buchanan <brian@tiogalake.com> | 2013-05-03 16:05:55 -0700 |
---|---|---|
committer | Brian Buchanan <brian@tiogalake.com> | 2013-05-03 16:05:55 -0700 |
commit | fa87e3166fd404f9d494965fb20712a55af078fb (patch) | |
tree | 9205cdedfa7c723c529dfb831b6fcba80587b5bd /activerecord/lib/active_record/connection_adapters/postgresql | |
parent | 9a4268db99d93190c58bddcb150832727a0d5129 (diff) | |
download | rails-fa87e3166fd404f9d494965fb20712a55af078fb.tar.gz rails-fa87e3166fd404f9d494965fb20712a55af078fb.tar.bz2 rails-fa87e3166fd404f9d494965fb20712a55af078fb.zip |
Make SchemaDumper emit "id: :uuid" when appropriate. Fixes #10451.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb | 3 |
1 files changed, 2 insertions, 1 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 d9b807bba4..98916b06a5 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb @@ -321,6 +321,7 @@ module ActiveRecord result = query(<<-end_sql, 'SCHEMA')[0] SELECT attr.attname, CASE + WHEN pg_get_expr(def.adbin, def.adrelid) !~* 'nextval' THEN NULL WHEN split_part(pg_get_expr(def.adbin, def.adrelid), '''', 2) ~ '.' THEN substr(split_part(pg_get_expr(def.adbin, def.adrelid), '''', 2), strpos(split_part(pg_get_expr(def.adbin, def.adrelid), '''', 2), '.')+1) @@ -332,7 +333,7 @@ module ActiveRecord JOIN pg_constraint cons ON (conrelid = adrelid AND adnum = conkey[1]) WHERE t.oid = '#{quote_table_name(table)}'::regclass AND cons.contype = 'p' - AND pg_get_expr(def.adbin, def.adrelid) ~* 'nextval' + AND pg_get_expr(def.adbin, def.adrelid) ~* 'nextval|uuid_generate' end_sql end |