import type { Kysely } from "kysely"; import { dropTables, execDdl } from "../src/migration-helpers.ts"; // SSE 多进程总线(W2-A):事件先落 sse_event(seq 全局单调,发布时持咨询锁保证提交顺序 = seq 顺序), // 再 pg_notify('umt_events', seq);各进程 LISTEN 后按 seq 补读并推给本进程的 SSE 连接。 // 只保留最近 N 条供 ?after= 补读,由发布方定期裁剪。 // biome-ignore lint/suspicious/noExplicitAny: 迁移不依赖应用表类型 export async function up(db: Kysely): Promise { await execDdl( db, ` create table sse_event ( seq bigserial primary key, type text not null, at timestamptz not null default now(), payload jsonb not null default 'null'::jsonb ); `, ); } // biome-ignore lint/suspicious/noExplicitAny: 同上 export async function down(db: Kysely): Promise { await execDdl(db, dropTables(["sse_event"])); }