From: Tom Hughes Date: Thu, 1 Jun 2017 22:18:18 +0000 (+0100) Subject: Fix up monkey patching of ActiveRecord for migrations X-Git-Tag: live~3349 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/68a6fce1f93669687c97b44d6acee44d6ca5d3f4?hp=f940a154f31460d781f68ba4af0bb4fc5b0e632a Fix up monkey patching of ActiveRecord for migrations --- diff --git a/lib/migrate.rb b/lib/migrate.rb index b9917df6d..b16fa523c 100644 --- a/lib/migrate.rb +++ b/lib/migrate.rb @@ -1,20 +1,18 @@ module OSM - module SchemaStatements - def add_index_options(table_name, column_name, options = {}) - columns = options.delete(:columns) - index_name, index_type, index_columns, index_options, algorithm, using = super(table_name, column_name, options) - [index_name, index_type, columns || index_columns, index_options, algorithm, using] + module ActiveRecord + module AbstractAdapter + def add_index_options(table_name, column_name, options = {}) + columns = options.delete(:columns) + index_name, index_type, index_columns, index_options, algorithm, using = super(table_name, column_name, options) + [index_name, index_type, columns || index_columns, index_options, algorithm, using] + end end - end - module PostgreSQL - module Quoting + module PostgreSQLAdapter def quote_column_name(name) Array(name).map { |n| super(n) }.join(", ") end - end - module SchemaStatements def add_primary_key(table_name, column_name, _options = {}) execute "ALTER TABLE #{quote_table_name(table_name)} ADD PRIMARY KEY (#{quote_column_name(column_name)})" end @@ -43,6 +41,5 @@ module OSM end end -ActiveRecord::ConnectionAdapters::SchemaStatements.extend(OSM::SchemaStatements) -ActiveRecord::ConnectionAdapters::PostgreSQL::Quoting.extend(OSM::PostgreSQL::Quoting) -ActiveRecord::ConnectionAdapters::PostgreSQL::SchemaStatements.extend(OSM::PostgreSQL::SchemaStatements) +ActiveRecord::ConnectionAdapters::AbstractAdapter.prepend(OSM::ActiveRecord::AbstractAdapter) +ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(OSM::ActiveRecord::PostgreSQLAdapter)