]> git.openstreetmap.org Git - rails.git/commitdiff
Switch to using the zeitwork autoloader
authorTom Hughes <tom@compton.nu>
Thu, 10 Dec 2020 14:46:41 +0000 (14:46 +0000)
committerTom Hughes <tom@compton.nu>
Wed, 30 Dec 2020 20:30:21 +0000 (20:30 +0000)
50 files changed:
Gemfile
Gemfile.lock
config/application.rb
config/initializers/migrate.rb [new file with mode: 0644]
config/initializers/zeitwerk.rb [new file with mode: 0644]
db/migrate/001_create_osm_db.rb
db/migrate/002_cleanup_osm_db.rb
db/migrate/003_sql_session_store_setup.rb
db/migrate/004_user_enhancements.rb
db/migrate/005_tile_tracepoints.rb
db/migrate/006_tile_nodes.rb
db/migrate/007_add_relations.rb
db/migrate/008_remove_segments.rb
db/migrate/010_diary_comments.rb
db/migrate/018_create_acls.rb
db/migrate/020_populate_node_tags_and_remove.rb
db/migrate/021_move_to_innodb.rb
db/migrate/022_key_constraints.rb
db/migrate/023_add_changesets.rb
db/migrate/024_order_relation_members.rb
db/migrate/025_add_end_time_to_changesets.rb
db/migrate/028_add_more_changeset_indexes.rb
db/migrate/029_add_user_foreign_keys.rb
db/migrate/030_add_foreign_keys.rb
db/migrate/031_create_countries.rb
db/migrate/034_create_languages.rb
db/migrate/035_change_user_locale.rb
db/migrate/039_add_more_controls_to_gpx_files.rb
db/migrate/042_add_foreign_keys_to_oauth_tables.rb
db/migrate/044_create_user_roles.rb
db/migrate/045_create_user_blocks.rb
db/migrate/046_alter_user_roles_and_blocks.rb
db/migrate/051_add_status_to_user.rb
db/migrate/053_add_map_bug_tables.rb
db/migrate/054_refactor_map_bug_tables.rb
db/migrate/055_change_map_bug_comment_type.rb
db/migrate/056_add_date_closed.rb
db/migrate/057_add_map_bug_comment_event.rb
db/migrate/20110521142405_rename_bugs_to_notes.rb
db/migrate/20111212183945_add_lowercase_user_indexes.rb
db/migrate/20120214210114_add_text_format.rb
db/migrate/20120318201948_create_redactions.rb
db/migrate/20120328090602_drop_session_table.rb
db/migrate/20120404205604_add_user_and_description_to_redaction.rb
db/migrate/20140115192822_add_text_index_to_note_comments.rb
db/migrate/20140507110937_create_changeset_comments.rb
db/migrate/20140519141742_add_join_table_between_users_and_changesets.rb
db/migrate/20160822153055_create_issues_and_reports.rb
db/migrate/20161002153425_add_join_table_between_users_and_diary_entries.rb
lib/migrate.rb [deleted file]

diff --git a/Gemfile b/Gemfile
index 264674fbcb9499de7e137172b51a43ff46001a71..a880a85344220c7ae08d30d4c3c2b7de90ce8b3d 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -130,6 +130,7 @@ group :development do
   gem "annotate"
   gem "better_errors"
   gem "binding_of_caller"
+  gem "debug_inspector", "< 1.0.0"
   gem "listen"
   gem "vendorer"
 end
index 396166a58408a4cd741a8122f7ed9854afbf20ad..b4274d143d0cd98520802b4aeb80188beedb975e 100644 (file)
@@ -140,7 +140,7 @@ GEM
       rexml
     crass (1.0.6)
     dalli (2.7.11)
-    debug_inspector (1.0.0)
+    debug_inspector (0.0.3)
     deep_merge (1.2.1)
     delayed_job (4.1.9)
       activesupport (>= 3.0, < 6.2)
@@ -486,6 +486,7 @@ DEPENDENCIES
   composite_primary_keys (~> 12.0.0)
   config
   dalli
+  debug_inspector (< 1.0.0)
   delayed_job_active_record
   dynamic_form
   erb_lint
index 54390ba29363a79a6eb182fadc922fcd6ab68af7..f5638e233025c9f9217df674cb1e0c0ffdb4b133 100644 (file)
@@ -31,9 +31,6 @@ module OpenStreetMap
     # Custom directories with classes and modules you want to be autoloadable.
     config.autoload_paths += %W[#{config.root}/lib]
 
-    # Continue to use the classic autoloader for now
-    config.autoloader = :classic
-
     # Force requests from old versions of IE (<= IE8) to be UTF-8 encoded.
     # This has defaulted to false since rails 6.0
     config.action_view.default_enforce_utf8 = true
diff --git a/config/initializers/migrate.rb b/config/initializers/migrate.rb
new file mode 100644 (file)
index 0000000..787f3d5
--- /dev/null
@@ -0,0 +1,59 @@
+if defined?(ActiveRecord::ConnectionAdapters::AbstractAdapter)
+  module OpenStreetMap
+    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
+
+      module PostgreSQLAdapter
+        def quote_column_name(name)
+          Array(name).map { |n| super(n) }.join(", ")
+        end
+
+        def add_primary_key(table_name, column_name, _options = {})
+          table_name = quote_table_name(table_name)
+          column_name = quote_column_name(column_name)
+
+          execute "ALTER TABLE #{table_name} ADD PRIMARY KEY (#{column_name})"
+        end
+
+        def remove_primary_key(table_name)
+          table_name = quote_table_name(table_name)
+
+          execute "ALTER TABLE #{table_name} DROP PRIMARY KEY"
+        end
+
+        def alter_primary_key(table_name, new_columns)
+          constraint_name = quote_table_name("#{table_name}_pkey")
+          table_name = quote_table_name(table_name)
+          new_columns = quote_column_name(new_columns)
+
+          execute "ALTER TABLE #{table_name} DROP CONSTRAINT #{constraint_name}"
+          execute "ALTER TABLE #{table_name} ADD PRIMARY KEY (#{new_columns})"
+        end
+
+        def create_enumeration(enumeration_name, values)
+          execute "CREATE TYPE #{enumeration_name} AS ENUM ('#{values.join '\',\''}')"
+        end
+
+        def drop_enumeration(enumeration_name)
+          execute "DROP TYPE #{enumeration_name}"
+        end
+
+        def rename_enumeration(old_name, new_name)
+          old_name = quote_table_name(old_name)
+          new_name = quote_table_name(new_name)
+
+          execute "ALTER TYPE #{old_name} RENAME TO #{new_name}"
+        end
+      end
+    end
+  end
+
+  ActiveRecord::ConnectionAdapters::AbstractAdapter.prepend(OpenStreetMap::ActiveRecord::AbstractAdapter)
+  ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(OpenStreetMap::ActiveRecord::PostgreSQLAdapter)
+end
diff --git a/config/initializers/zeitwerk.rb b/config/initializers/zeitwerk.rb
new file mode 100644 (file)
index 0000000..803a60c
--- /dev/null
@@ -0,0 +1,9 @@
+Rails.autoloaders.each do |autoloader|
+  autoloader.inflector.inflect(
+    "gpx" => "GPX",
+    "id" => "ID",
+    "osm" => "OSM",
+    "rubyvm" => "RubyVM",
+    "utf8" => "UTF8"
+  )
+end
index 3772c5dc2224a3b0da4ef74b92048c8e5e0b825f..43e4bf4b2df44a97e56e828cb7c489d5240b7c76 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class CreateOsmDb < ActiveRecord::Migration[4.2]
   def self.up
     create_table "current_nodes", :id => false do |t|
index 8728f1a6a3947a114b1022a2ba32a2cc7b53d5c5..23f988dc19fc986bfa91ba4ccaae6b00306d9d08 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class CleanupOsmDb < ActiveRecord::Migration[4.2]
   def self.up
     change_column "current_nodes", "latitude", :float, :limit => 53, :null => false
index 060ffe08907253558794c112ec87968e064c1a6a..1be5daf7a0f7dc30a48e9944a799344de4a64272 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class SqlSessionStoreSetup < ActiveRecord::Migration[4.2]
   def self.up
     create_table "sessions" do |t|
index 99da718fdaef7dbe4dc10f810855d386db439595..5d3bc4858bd37f91d5cca7a2c109832b84459b89 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class UserEnhancements < ActiveRecord::Migration[4.2]
   def self.up
     add_column "diary_entries", "latitude", :float, :limit => 53
index b46fdf25f4e7de0fcce8e7eff0f2ed78a355228e..0e557067d45b9b13efad8cba340b5d8c823dd7ef 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class TileTracepoints < ActiveRecord::Migration[4.2]
   class Tracepoint < ApplicationRecord
     self.table_name = "gps_points"
index d13ada1706b404b52d321f3023bc473bf5a59a01..7fdb34e5782c60e56ffe9da29ded0177778601cf 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class TileNodes < ActiveRecord::Migration[4.2]
   class Node < ApplicationRecord
     self.table_name = "current_nodes"
index 05d3c634b104222e3661d61a619290e2a9774aaf..1e5bc5d3af78ed916c82fedf5b68bd6a8df462b3 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddRelations < ActiveRecord::Migration[4.2]
   def self.up
     # enums work like strings but are more efficient
index f8a3085c6047b15b5cb06f24bf01115c1d03b7e7..c528742c9f44c825f3c0f903554a7dcf1f6d7edb 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class RemoveSegments < ActiveRecord::Migration[4.2]
   def self.up
     have_segs = select_value("SELECT count(*) FROM current_segments").to_i.nonzero?
index 94d8a985b7a5a130ca71364d6f5e6e441055167a..15730bd8e325ce9f608f7fccda1c481f81bf2d3c 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class DiaryComments < ActiveRecord::Migration[4.2]
   def self.up
     create_table "diary_comments", :id => false do |t|
index c5c7c7444d776c1afe40c10ff151770de12b1817..ce5b6d4cab35f002c0322391055478ac32ddf984 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class CreateAcls < ActiveRecord::Migration[4.2]
   def self.up
     create_table "acls", :id => false do |t|
index fbb5d1af40f73c715ddd3d9a129ad37b6fc62c52..c8c017806a2964466cc28debdf6763f37f7f890f 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class PopulateNodeTagsAndRemove < ActiveRecord::Migration[4.2]
   def self.up
     have_nodes = select_value("SELECT count(*) FROM current_nodes").to_i.nonzero?
index 81663eb1b24d6a1e47f680ca3279ea826f79e6d6..4dac8410c056e4c086f754d9caa12326686d5c08 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class MoveToInnodb < ActiveRecord::Migration[4.2]
   @conv_tables = %w[nodes ways way_tags way_nodes current_way_tags relation_members relations relation_tags current_relation_tags]
 
index 3030ed2cf6e33e651b554ee16745a4f9b001521c..e7840b4147dd62ead3cfbf93d721d017968d7f89 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class KeyConstraints < ActiveRecord::Migration[4.2]
   def self.up
     # Primary keys
index d835b22cb2de8642408d3d3e9c949744a7b75ec4..ff6ce2bb4356db29f5680b3d871edde95699572b 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddChangesets < ActiveRecord::Migration[4.2]
   @conv_user_tables = %w[current_nodes current_relations current_ways nodes relations ways]
 
index c2a3ada329b2bc891bea6cdc85d0b95a610b83bd..77ef3a55967aabfd886c444dab4dbb11b1c14c1a 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class OrderRelationMembers < ActiveRecord::Migration[4.2]
   def self.up
     # add sequence column. rails won't let us define an ordering here,
index 985e572853f74f8fb6db482d9ffd1d340fb20a30..c25701088b0df90828b1bef719d1f1a3094c8911 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddEndTimeToChangesets < ActiveRecord::Migration[4.2]
   def self.up
     # swap the boolean closed-or-not for a time when the changeset will
index 3a5e941ed538c80b52bea5f0d1c43746d95fb9b8..d7a6df7abb92050c32fa86355f371785e4bc1b77 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddMoreChangesetIndexes < ActiveRecord::Migration[4.2]
   def self.up
     add_index "changesets", ["created_at"], :name => "changesets_created_at_idx"
index d91b9a17e260eb4b4f3ad33a354a928a3a8b2e67..33ba25721c380f4ef4b4236d12ea5cc671cec784 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddUserForeignKeys < ActiveRecord::Migration[4.2]
   def change
     add_foreign_key :changesets, :users, :name => "changesets_user_id_fkey"
index ed7652543d61981a89a0443cde5fa6950a1727a5..ded44d77216b81be4afe7c5293964646cd557b58 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddForeignKeys < ActiveRecord::Migration[4.2]
   def self.up
     add_foreign_key :changeset_tags, :changesets, :column => :id, :name => "changeset_tags_id_fkey"
index bdb2470365de5dc459863ea4453694ad766a3d0d..c26bdd08c468e2884d82030357a6579641b73076 100644 (file)
@@ -1,4 +1,3 @@
-require "migrate"
 require "rexml/document"
 
 class CreateCountries < ActiveRecord::Migration[4.2]
index 20b80ec5b7b5a006badd62664e30ab7964ed0191..24590355168c4d89b60fd420a2855945cef24244 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class CreateLanguages < ActiveRecord::Migration[4.2]
   def change
     create_table :languages, :id => false do |t|
index 3de3492c8add84aa15793de8349c1688fbfb4876..d1315fa0669634ec2550017ac3bffb1d751e7a07 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class ChangeUserLocale < ActiveRecord::Migration[4.2]
   def self.up
     remove_foreign_key :users, :column => :locale, :name => "users_locale_fkey"
index 2c3fee5be92ab9cb20d8a6496e529134c6dfa611..728b56989ee78d7c46c3372c3f0ec700c9d49916 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddMoreControlsToGpxFiles < ActiveRecord::Migration[4.2]
   class Trace < ApplicationRecord
     self.table_name = "gpx_files"
index b302458c7cd97fd8d202caa8f22795ba1ce0baac..a57fe9885bcf199c5d3b633294472163e1baf1db 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddForeignKeysToOauthTables < ActiveRecord::Migration[4.2]
   def change
     add_foreign_key :oauth_tokens, :users, :name => "oauth_tokens_user_id_fkey"
index 0039859bfc2e27f4adb8ad50af7be2fefeae8329..ece98a54d8f3022abfd7d2533c52ccbb4e60f2bb 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class CreateUserRoles < ActiveRecord::Migration[4.2]
   class User < ApplicationRecord
   end
index 182e2f4988aa028dcc2fb79e393f648f2dfdb4b6..4328e0b97315a8cf8a66e6ec70b04b7e9d57b68c 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class CreateUserBlocks < ActiveRecord::Migration[4.2]
   def change
     create_table :user_blocks do |t|
index b10fcf144ea8ff7285423f2d99a6f63eda199b3b..c1d3cd9874c8ef777072ba03dc6204a4ce9df0cb 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AlterUserRolesAndBlocks < ActiveRecord::Migration[4.2]
   class UserRole < ApplicationRecord
   end
index 23761f24847c11dd970fa91c2cb6579cb7c2f57f..f170e0de887c247aedd000f788d6ac4645c81f9f 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddStatusToUser < ActiveRecord::Migration[4.2]
   class User < ApplicationRecord
   end
index e8e01ec0724687e0c5ee37cc6de002c6b63b93e3..6ad3af0eb66a41de4f40d869dcbe710134d7e6c6 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddMapBugTables < ActiveRecord::Migration[4.2]
   def self.up
     create_enumeration :map_bug_status_enum, %w[open closed hidden]
index 4bd713bd7823b852de3b7b0e85feacd5ea43ab5d..23221c7b1a25090836e628daec68df863a56177f 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class RefactorMapBugTables < ActiveRecord::Migration[4.2]
   def self.up
     create_table :map_bug_comment do |t|
index c206325fab3dc0d675a0e976357bddf51c5c2242..1fab93b442b5ee8171f4f221f027e4cb283bf85b 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class ChangeMapBugCommentType < ActiveRecord::Migration[4.2]
   def self.up
     change_column :map_bug_comment, :comment, :text
index 57efa7c8a04c2d024d2c412e9e37ee895762b583..b6da41466ae3df01ea0ef81dbe94238a846823d9 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddDateClosed < ActiveRecord::Migration[4.2]
   def self.up
     add_column :map_bugs, :date_closed, :timestamp
index ecdb967a169d8c4a29f18bdb86dca20e1f66efa3..c88544099156f547d09d8e4b0d46815ddc330d81 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddMapBugCommentEvent < ActiveRecord::Migration[4.2]
   def self.up
     create_enumeration :map_bug_event_enum, %w[opened closed reopened commented hidden]
index 54b443b327bc5d632fb4bd638dab9f7f9615a436..d3260dfa17463d8906027590237ec2dc68d53a42 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class RenameBugsToNotes < ActiveRecord::Migration[4.2]
   def self.up
     rename_enumeration "map_bug_status_enum", "note_status_enum"
index 202b23388b5a509c125981575bdcc97e9d31b26f..df6a48c16beac5eae3f91d8de4ec8681ddffac15 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddLowercaseUserIndexes < ActiveRecord::Migration[4.2]
   def up
     add_index :users, [], :columns => "LOWER(display_name)", :name => "users_display_name_lower_idx"
index 6ec84ce44988f61b55700eb144428d4ccd156fb7..be8089a746f52d0b2bbbb667b46c27e2bd60da82 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddTextFormat < ActiveRecord::Migration[4.2]
   def up
     create_enumeration :format_enum, %w[html markdown text]
index e108ea84b060337b6a5097d09f0bf9782b945ab1..3f6eec613cd0b492ac636c902b7bc870234bf55e 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class CreateRedactions < ActiveRecord::Migration[4.2]
   def change
     create_table :redactions do |t|
index 5423974e5783f73199050fc9ab705334b2700afa..7046281df69bea002c4542b677bc43022f991c64 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class DropSessionTable < ActiveRecord::Migration[4.2]
   def up
     drop_table "sessions"
index f23bd2ffc3a7b0252fb13078599c3c115623d769..56ef052533239da7bbd05b13f8d95da41126fc02 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddUserAndDescriptionToRedaction < ActiveRecord::Migration[4.2]
   def change
     add_column :redactions, :user_id, :bigint, :null => false
index dc17d386e87f76c38065af48e78e87eb8bd349e7..1c30450ef6dbbb8c2059b644503ab357efbfe815 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddTextIndexToNoteComments < ActiveRecord::Migration[4.2]
   def up
     add_index :note_comments, [], :columns => "to_tsvector('english', body)", :using => "GIN", :name => "index_note_comments_on_body"
index fdcdaf65daca8cfb25138dc8da6d44d527312dee..796919c5107807a547dcb13ec82c261a408daa53 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class CreateChangesetComments < ActiveRecord::Migration[4.2]
   def change
     create_table :changeset_comments do |t|
index c761af38be507618f214cb4ab420197cb241a012..221a740c5ddab989ed3f9fac3bc867190c7c991a 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddJoinTableBetweenUsersAndChangesets < ActiveRecord::Migration[4.2]
   def change
     create_table :changesets_subscribers, :id => false do |t|
index 544ddbd60c09a5bee95ea1f0a7ad884a6aa659d1..07a549820ac2e9b6cd91a79b35185eccf3c0fea6 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class CreateIssuesAndReports < ActiveRecord::Migration[5.0]
   def up
     create_enumeration :issue_status_enum, %w[open ignored resolved]
index 624eb10f97e6d52ec939345cc69d161c48cb2448..4151d19a3043f54fb0972f1051536631b1e7fde6 100644 (file)
@@ -1,5 +1,3 @@
-require "migrate"
-
 class AddJoinTableBetweenUsersAndDiaryEntries < ActiveRecord::Migration[4.2]
   def self.up
     create_table :diary_entry_subscriptions, :id => false do |t|
diff --git a/lib/migrate.rb b/lib/migrate.rb
deleted file mode 100644 (file)
index d87d14b..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-module OpenStreetMap
-  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
-
-    module PostgreSQLAdapter
-      def quote_column_name(name)
-        Array(name).map { |n| super(n) }.join(", ")
-      end
-
-      def add_primary_key(table_name, column_name, _options = {})
-        table_name = quote_table_name(table_name)
-        column_name = quote_column_name(column_name)
-
-        execute "ALTER TABLE #{table_name} ADD PRIMARY KEY (#{column_name})"
-      end
-
-      def remove_primary_key(table_name)
-        table_name = quote_table_name(table_name)
-
-        execute "ALTER TABLE #{table_name} DROP PRIMARY KEY"
-      end
-
-      def alter_primary_key(table_name, new_columns)
-        constraint_name = quote_table_name("#{table_name}_pkey")
-        table_name = quote_table_name(table_name)
-        new_columns = quote_column_name(new_columns)
-
-        execute "ALTER TABLE #{table_name} DROP CONSTRAINT #{constraint_name}"
-        execute "ALTER TABLE #{table_name} ADD PRIMARY KEY (#{new_columns})"
-      end
-
-      def create_enumeration(enumeration_name, values)
-        execute "CREATE TYPE #{enumeration_name} AS ENUM ('#{values.join '\',\''}')"
-      end
-
-      def drop_enumeration(enumeration_name)
-        execute "DROP TYPE #{enumeration_name}"
-      end
-
-      def rename_enumeration(old_name, new_name)
-        old_name = quote_table_name(old_name)
-        new_name = quote_table_name(new_name)
-
-        execute "ALTER TYPE #{old_name} RENAME TO #{new_name}"
-      end
-    end
-  end
-end
-
-ActiveRecord::ConnectionAdapters::AbstractAdapter.prepend(OpenStreetMap::ActiveRecord::AbstractAdapter)
-ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(OpenStreetMap::ActiveRecord::PostgreSQLAdapter)