fix reserved turn queue concurrency

This commit is contained in:
2026-07-26 18:32:52 +00:00
parent ab6ed3553a
commit 3cd1ad3b7f
18 changed files with 613 additions and 106 deletions
+18
View File
@@ -368,6 +368,14 @@ model GeneralTurn {
@@map("general_turn")
}
model GeneralTurnRevision {
generalId Int @id @map("general_id")
revision Int @default(0)
updatedAt DateTime @updatedAt @map("updated_at")
@@map("general_turn_revision")
}
model NationTurn {
id Int @id @default(autoincrement())
nationId Int @map("nation_id")
@@ -381,6 +389,16 @@ model NationTurn {
@@map("nation_turn")
}
model NationTurnRevision {
nationId Int @map("nation_id")
officerLevel Int @map("officer_level")
revision Int @default(0)
updatedAt DateTime @updatedAt @map("updated_at")
@@id([nationId, officerLevel])
@@map("nation_turn_revision")
}
model Diplomacy {
id Int @id @default(autoincrement())
srcNationId Int @map("src_nation_id")
@@ -0,0 +1,16 @@
CREATE TABLE "general_turn_revision" (
"general_id" INTEGER NOT NULL,
"revision" INTEGER NOT NULL DEFAULT 0,
"updated_at" TIMESTAMP(3) NOT NULL,
CONSTRAINT "general_turn_revision_pkey" PRIMARY KEY ("general_id")
);
CREATE TABLE "nation_turn_revision" (
"nation_id" INTEGER NOT NULL,
"officer_level" INTEGER NOT NULL,
"revision" INTEGER NOT NULL DEFAULT 0,
"updated_at" TIMESTAMP(3) NOT NULL,
CONSTRAINT "nation_turn_revision_pkey" PRIMARY KEY ("nation_id", "officer_level")
);
+2
View File
@@ -21,7 +21,9 @@ export interface DatabaseClient {
oldGeneral: GamePrisma.OldGeneralDelegate;
emperor: GamePrisma.EmperorDelegate;
generalTurn: GamePrisma.GeneralTurnDelegate;
generalTurnRevision: GamePrisma.GeneralTurnRevisionDelegate;
nationTurn: GamePrisma.NationTurnDelegate;
nationTurnRevision: GamePrisma.NationTurnRevisionDelegate;
troop: GamePrisma.TroopDelegate;
logEntry: GamePrisma.LogEntryDelegate;
auction: GamePrisma.AuctionDelegate;
+8
View File
@@ -436,9 +436,17 @@ export interface TurnEngineDatabaseClient {
deleteMany(args?: unknown): Promise<unknown>;
createMany(args?: unknown): Promise<unknown>;
};
generalTurnRevision?: {
upsert(args: unknown): Promise<unknown>;
deleteMany(args?: unknown): Promise<unknown>;
};
nationTurn: {
findMany(args?: unknown): Promise<TurnEngineNationTurnRow[]>;
deleteMany(args?: unknown): Promise<unknown>;
createMany(args?: unknown): Promise<unknown>;
};
nationTurnRevision?: {
upsert(args: unknown): Promise<unknown>;
deleteMany(args?: unknown): Promise<unknown>;
};
}