summaryrefslogtreecommitdiff
path: root/config/initializers/0_postgresql_types.rb
diff options
context:
space:
mode:
Diffstat (limited to 'config/initializers/0_postgresql_types.rb')
-rw-r--r--config/initializers/0_postgresql_types.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/config/initializers/0_postgresql_types.rb b/config/initializers/0_postgresql_types.rb
new file mode 100644
index 00000000000..79e7510ee55
--- /dev/null
+++ b/config/initializers/0_postgresql_types.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+# As discussed in https://github.com/rails/rails/issues/40687, this
+# patch registers a few types to silence warnings when Rails comes
+# across some PostgreSQL types it does not recognize.
+module PostgreSQLAdapterCustomTypes
+ def initialize_type_map(m = type_map) # rubocop:disable Naming/MethodParameterName
+ m.register_type('xid', ActiveRecord::Type::Integer.new(limit: 8))
+ m.register_type('pg_node_tree', ActiveRecord::Type::String.new)
+ m.register_type('_aclitem', ActiveRecord::Type::String.new)
+ m.register_type('pg_lsn', ActiveRecord::Type::String.new)
+
+ super
+ end
+end
+
+ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(PostgreSQLAdapterCustomTypes)