rwadurian/backend/services/presence-service/prisma/migrations/20241204000000_init/migration.sql

53 lines
1.6 KiB
SQL

-- CreateTable
CREATE TABLE "analytics_event_log" (
"id" BIGSERIAL NOT NULL,
"user_id" VARCHAR(20),
"install_id" VARCHAR(64) NOT NULL,
"event_name" VARCHAR(64) NOT NULL,
"event_time" TIMESTAMPTZ NOT NULL,
"properties" JSONB,
"created_at" TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "analytics_event_log_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "analytics_daily_active_users" (
"day" DATE NOT NULL,
"dau_count" INTEGER NOT NULL,
"dau_by_province" JSONB,
"dau_by_city" JSONB,
"calculated_at" TIMESTAMPTZ NOT NULL,
"version" INTEGER NOT NULL DEFAULT 1,
CONSTRAINT "analytics_daily_active_users_pkey" PRIMARY KEY ("day")
);
-- CreateTable
CREATE TABLE "analytics_online_snapshots" (
"id" BIGSERIAL NOT NULL,
"ts" TIMESTAMPTZ NOT NULL,
"online_count" INTEGER NOT NULL,
"window_seconds" INTEGER NOT NULL DEFAULT 180,
CONSTRAINT "analytics_online_snapshots_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "idx_event_log_event_time" ON "analytics_event_log"("event_time");
-- CreateIndex
CREATE INDEX "idx_event_log_event_name" ON "analytics_event_log"("event_name");
-- CreateIndex
CREATE INDEX "idx_event_log_event_name_time" ON "analytics_event_log"("event_name", "event_time");
-- CreateIndex
CREATE INDEX "idx_event_log_user_id" ON "analytics_event_log"("user_id");
-- CreateIndex
CREATE UNIQUE INDEX "analytics_online_snapshots_ts_key" ON "analytics_online_snapshots"("ts");
-- CreateIndex
CREATE INDEX "idx_online_snapshots_ts" ON "analytics_online_snapshots"("ts" DESC);