X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/68a6fce1f93669687c97b44d6acee44d6ca5d3f4..94dc8cd8d72515c4698e83093b5fd34f2dcbda4f:/lib/migrate.rb?ds=sidebyside diff --git a/lib/migrate.rb b/lib/migrate.rb index b16fa523c..d87d14bbb 100644 --- a/lib/migrate.rb +++ b/lib/migrate.rb @@ -1,4 +1,4 @@ -module OSM +module OpenStreetMap module ActiveRecord module AbstractAdapter def add_index_options(table_name, column_name, options = {}) @@ -14,16 +14,25 @@ module OSM end 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)})" + 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) - execute "ALTER TABLE #{quote_table_name(table_name)} DROP PRIMARY KEY" + table_name = quote_table_name(table_name) + + execute "ALTER TABLE #{table_name} DROP PRIMARY KEY" end def alter_primary_key(table_name, new_columns) - execute "ALTER TABLE #{quote_table_name(table_name)} DROP CONSTRAINT #{quote_table_name(table_name + '_pkey')}" - execute "ALTER TABLE #{quote_table_name(table_name)} ADD PRIMARY KEY (#{quote_column_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) @@ -35,11 +44,14 @@ module OSM end def rename_enumeration(old_name, new_name) - execute "ALTER TYPE #{quote_table_name(old_name)} RENAME TO #{quote_table_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(OSM::ActiveRecord::AbstractAdapter) -ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(OSM::ActiveRecord::PostgreSQLAdapter) +ActiveRecord::ConnectionAdapters::AbstractAdapter.prepend(OpenStreetMap::ActiveRecord::AbstractAdapter) +ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(OpenStreetMap::ActiveRecord::PostgreSQLAdapter)