diff --git a/server/lib/picky/sources/db.rb b/server/lib/picky/sources/db.rb index 6ced3c13..1462b34f 100644 --- a/server/lib/picky/sources/db.rb +++ b/server/lib/picky/sources/db.rb @@ -83,8 +83,15 @@ def take_snapshot type on_database.execute "DROP TABLE IF EXISTS #{origin}" on_database.execute "CREATE TABLE #{origin} AS #{select_statement}" - on_database.execute "ALTER TABLE #{origin} CHANGE COLUMN id indexed_id INTEGER" - on_database.execute "ALTER TABLE #{origin} ADD COLUMN id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT" + # TODO Use rename_column ASAP. + # + if on_database.adapter_name == "PostgreSQL" + on_database.execute "ALTER TABLE #{origin} RENAME COLUMN id TO indexed_id" + on_database.execute "ALTER TABLE #{origin} ADD COLUMN id SERIAL PRIMARY KEY" + else + on_database.execute "ALTER TABLE #{origin} CHANGE COLUMN id indexed_id INTEGER" + on_database.execute "ALTER TABLE #{origin} ADD COLUMN id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT" + end # Execute any special queries this type needs executed. #