X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/2e1414b229266eb2e263abf0ae94bd94a588b7ba..476e3f2b550eac56a38efd1938a6361c9ab49432:/lib/migrate.rb diff --git a/lib/migrate.rb b/lib/migrate.rb index bb8ffa6e8..392060b60 100644 --- a/lib/migrate.rb +++ b/lib/migrate.rb @@ -52,7 +52,8 @@ module ActiveRecord types[:bigint_auto_64] = { :name => "bigint(64) DEFAULT NULL auto_increment" } types[:bigint_auto_11] = { :name => "bigint(11) DEFAULT NULL auto_increment" } types[:bigint_auto_20] = { :name => "bigint(20) DEFAULT NULL auto_increment" } - types[:four_byte_unsigned] = { :name=> "integer unsigned NOT NULL" } + types[:four_byte_unsigned] = { :name=> "integer unsigned" } + types[:inet] = { :name=> "integer unsigned" } types end @@ -91,12 +92,16 @@ module ActiveRecord end def alter_column_nwr_enum (table_name, column) - execute "alter table #{table_name} change column #{column} #{column} enum('node','way','relation');" + execute "alter table #{table_name} change column #{column} #{column} enum('Node','Way','Relation');" end def alter_primary_key(table_name, new_columns) execute("alter table #{table_name} drop primary key, add primary key (#{new_columns.join(',')})") end + + def interval_constant(interval) + "'#{interval}'" + end end class PostgreSQLAdapter @@ -114,6 +119,7 @@ module ActiveRecord types[:bigint_auto_11] = { :name => "bigint" } #fixme: need autoincrement? types[:bigint_auto_20] = { :name => "bigint" } #fixme: need autoincrement? types[:four_byte_unsigned] = { :name => "bigint" } # meh + types[:inet] = { :name=> "inet" } types end @@ -139,7 +145,7 @@ module ActiveRecord def alter_column_nwr_enum (table_name, column) response = select_one("select count(*) as count from pg_type where typname = 'nwr_enum'") if response['count'] == "0" #yep, as a string - execute "create type nwr_enum as ENUM ('node', 'way', 'relation')" + execute "create type nwr_enum as ENUM ('Node', 'Way', 'Relation')" end execute "alter table #{table_name} drop #{column}" execute "alter table #{table_name} add #{column} nwr_enum" @@ -148,6 +154,10 @@ module ActiveRecord def alter_primary_key(table_name, new_columns) execute "alter table #{table_name} drop constraint #{table_name}_pkey; alter table #{table_name} add primary key (#{new_columns.join(',')})" end + + def interval_constant(interval) + "'#{interval}'::interval" + end end end end