2025-11-27 12:53:04 +00:00
|
|
|
import { Kysely, sql } from 'kysely';
|
|
|
|
|
|
|
|
|
|
export async function up(db: Kysely<any>): Promise<void> {
|
|
|
|
|
await sql`CREATE TABLE "integrity_report" (
|
|
|
|
|
"id" uuid NOT NULL DEFAULT uuid_generate_v4(),
|
|
|
|
|
"type" character varying NOT NULL,
|
|
|
|
|
"path" character varying NOT NULL,
|
2025-11-27 15:13:00 +00:00
|
|
|
"createdAt" timestamp with time zone NOT NULL DEFAULT now(),
|
2025-12-01 15:49:03 +00:00
|
|
|
"assetId" uuid,
|
|
|
|
|
"fileAssetId" uuid,
|
|
|
|
|
CONSTRAINT "integrity_report_assetId_fkey" FOREIGN KEY ("assetId") REFERENCES "asset" ("id") ON UPDATE CASCADE ON DELETE CASCADE,
|
|
|
|
|
CONSTRAINT "integrity_report_fileAssetId_fkey" FOREIGN KEY ("fileAssetId") REFERENCES "asset_file" ("id") ON UPDATE CASCADE ON DELETE CASCADE,
|
2025-11-27 12:53:04 +00:00
|
|
|
CONSTRAINT "integrity_report_type_path_uq" UNIQUE ("type", "path"),
|
|
|
|
|
CONSTRAINT "integrity_report_pkey" PRIMARY KEY ("id")
|
|
|
|
|
);`.execute(db);
|
2025-12-01 15:49:03 +00:00
|
|
|
await sql`CREATE INDEX "integrity_report_assetId_idx" ON "integrity_report" ("assetId");`.execute(db);
|
|
|
|
|
await sql`CREATE INDEX "integrity_report_fileAssetId_idx" ON "integrity_report" ("fileAssetId");`.execute(db);
|
2025-11-27 12:53:04 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function down(db: Kysely<any>): Promise<void> {
|
|
|
|
|
await sql`DROP TABLE "integrity_report";`.execute(db);
|
|
|
|
|
}
|