X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/a9e8f14e6d0166d689e942cd49d47208f4277c80..7d993febee4d14fe03a770a9c850ff973316171f:/config/initializers/postgresql_adapter.rb diff --git a/config/initializers/postgresql_adapter.rb b/config/initializers/postgresql_adapter.rb index 6e77a3fb0..ff1f7f87a 100644 --- a/config/initializers/postgresql_adapter.rb +++ b/config/initializers/postgresql_adapter.rb @@ -1,4 +1,4 @@ -if defined?(ActiveRecord::ConnectionAdaptors::PostgreSQLAdaptor) +if defined?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter) module ActiveRecord module ConnectionAdapters class PostgreSQLAdapter @@ -58,6 +58,33 @@ if defined?(ActiveRecord::ConnectionAdaptors::PostgreSQLAdaptor) rescue nil end + + def initialize_type_map_with_enums + OID.alias_type "format_enum", "text" + OID.alias_type "gpx_visibility_enum", "text" + OID.alias_type "note_status_enum", "text" + OID.alias_type "note_event_enum", "text" + OID.alias_type "nwr_enum", "text" + OID.alias_type "user_role_enum", "text" + OID.alias_type "user_status_enum", "text" + + initialize_type_map_without_enums + end + + alias_method_chain :initialize_type_map, :enums + end + + class PostgreSQLColumn + def simplified_type_with_enum(field_type) + case field_type + when /_enum$/ + :string + else + simplified_type_without_enum(field_type) + end + end + + alias_method_chain :simplified_type, :enum end end end