blob: 9129891baf2662c254cd83c03e31b8da1d3f174b [file]
import type { DatabaseSync } from 'node:sqlite';
export const SQLITE_ARTIFACT_SCHEMA_VERSION = 1;
export function migrateSqliteArtifactDatabase(db: DatabaseSync): void {
db.exec(`
CREATE TABLE IF NOT EXISTS artifact_records (
storage_key TEXT PRIMARY KEY,
artifact_id TEXT NOT NULL,
session_id TEXT NOT NULL,
created_at INTEGER NOT NULL CHECK (created_at >= 0),
status TEXT NOT NULL CHECK (status IN ('live', 'deleted')),
relative_path TEXT NOT NULL,
record_json TEXT NOT NULL
);
CREATE INDEX IF NOT EXISTS artifact_records_session_order
ON artifact_records(session_id, created_at, storage_key);
CREATE UNIQUE INDEX IF NOT EXISTS artifact_records_relative_path
ON artifact_records(relative_path);
`);
}