26 lines
1.1 KiB
SQL
26 lines
1.1 KiB
SQL
CREATE TABLE "audit_events" (
|
|
"id" TEXT NOT NULL,
|
|
"actor_id" TEXT,
|
|
"actor_name" TEXT NOT NULL DEFAULT '',
|
|
"action" TEXT NOT NULL,
|
|
"entity_type" TEXT NOT NULL,
|
|
"entity_id" TEXT NOT NULL,
|
|
"product_id" TEXT,
|
|
"project_id" TEXT,
|
|
"version_id" TEXT,
|
|
"scope" JSONB NOT NULL DEFAULT '{}',
|
|
"before" JSONB,
|
|
"after" JSONB,
|
|
"metadata" JSONB NOT NULL DEFAULT '{}',
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "audit_events_pkey" PRIMARY KEY ("id", "created_at")
|
|
) PARTITION BY RANGE ("created_at");
|
|
|
|
CREATE TABLE "audit_events_default" PARTITION OF "audit_events" DEFAULT;
|
|
CREATE INDEX "audit_events_actor_created_at_idx" ON "audit_events"("actor_id", "created_at" DESC);
|
|
CREATE INDEX "audit_events_entity_created_at_idx" ON "audit_events"("entity_type", "entity_id", "created_at" DESC);
|
|
CREATE INDEX "audit_events_product_created_at_idx" ON "audit_events"("product_id", "created_at" DESC);
|
|
CREATE INDEX "audit_events_project_created_at_idx" ON "audit_events"("project_id", "created_at" DESC);
|
|
CREATE INDEX "audit_events_version_created_at_idx" ON "audit_events"("version_id", "created_at" DESC);
|