openstreetmap-website/db/migrate/20231206141457_alter_sequences_bigint.rb
Andy Allan 367fa44a74 Migrate some sequences to use bigints
These primary keys were converted to bigints in migrations, but the
sequences were left unmentioned. If the original migrations are run on
postgresql 10.0+, then this leads to a mismatch in column types vs sequence
types. This migration fixes these mismatches.

If the original migrations were run on postgresql < 10, all sequences were
bigints anyway, and this migration is a no-op.

If the sequence is a bigint, then postgresql doesn't output that fact in the
statement dump.

Refs #4298
2023-12-06 14:54:12 +00:00

17 lines
512 B
Ruby

class AlterSequencesBigint < ActiveRecord::Migration[7.1]
def up
safety_assured do
execute "ALTER SEQUENCE oauth_nonces_id_seq AS bigint"
execute "ALTER SEQUENCE notes_id_seq AS bigint"
execute "ALTER SEQUENCE note_comments_id_seq AS bigint"
end
end
def down
safety_assured do
execute "ALTER SEQUENCE oauth_nonces_id_seq AS integer"
execute "ALTER SEQUENCE notes_id_seq AS integer"
execute "ALTER SEQUENCE note_comments_id_seq AS integer"
end
end
end