고빈도 저장 ID를 64비트로 확장하고 랭킹 갱신의 시퀀스 낭비를 막는다

This commit is contained in:
Hide_D committed 2026-11-14 15:34:21 +09:00
1 parent 087517821e
commit bc54b157c1
25 files changed
+518 -86

No files matched your search

@@ -0,0 +1,7 @@
-- Keep all existing row IDs and the current sequence position, including an
-- exhausted int4 sequence. Widen both ends; changing the sequence alone leaves
-- INSERTs failing with integer overflow. Never rewind or cycle production IDs.
BEGIN;
ALTER TABLE "rank_data" ALTER COLUMN "id" TYPE BIGINT;
ALTER SEQUENCE "rank_data_id_seq" AS BIGINT NO MAXVALUE NO CYCLE;
COMMIT;
@@ -0,0 +1,23 @@
-- High churn queues/upserts and append-only logs need lifetime IDs, independent
-- of live row count. Keep logical keys, values and sequence positions intact.
BEGIN;
ALTER TABLE "general_turn" ALTER COLUMN "id" TYPE BIGINT;
ALTER SEQUENCE "general_turn_id_seq" AS BIGINT NO MAXVALUE NO CYCLE;
ALTER TABLE "nation_turn" ALTER COLUMN "id" TYPE BIGINT;
ALTER SEQUENCE "nation_turn_id_seq" AS BIGINT NO MAXVALUE NO CYCLE;
ALTER TABLE "general_access_log" ALTER COLUMN "id" TYPE BIGINT;
ALTER SEQUENCE "general_access_log_id_seq" AS BIGINT NO MAXVALUE NO CYCLE;
ALTER TABLE "diplomacy" ALTER COLUMN "id" TYPE BIGINT;
ALTER SEQUENCE "diplomacy_id_seq" AS BIGINT NO MAXVALUE NO CYCLE;
ALTER TABLE "inheritance_point" ALTER COLUMN "id" TYPE BIGINT;
ALTER SEQUENCE "inheritance_point_id_seq" AS BIGINT NO MAXVALUE NO CYCLE;
ALTER TABLE "log_entry" ALTER COLUMN "id" TYPE BIGINT;
ALTER SEQUENCE "log_entry_id_seq" AS BIGINT NO MAXVALUE NO CYCLE;
ALTER TABLE "error_log" ALTER COLUMN "id" TYPE BIGINT;
ALTER SEQUENCE "error_log_id_seq" AS BIGINT NO MAXVALUE NO CYCLE;
ALTER TABLE "inheritance_log" ALTER COLUMN "id" TYPE BIGINT;
ALTER SEQUENCE "inheritance_log_id_seq" AS BIGINT NO MAXVALUE NO CYCLE;
ALTER TABLE "traffic_period" ALTER COLUMN "id" TYPE BIGINT;
ALTER SEQUENCE "traffic_period_id_seq" AS BIGINT NO MAXVALUE NO CYCLE;
ALTER TABLE "traffic_period_general" ALTER COLUMN "period_id" TYPE BIGINT;
COMMIT;