Add db setup migration
This commit is contained in:
186
migrations/0001_initialize.sql
Normal file
186
migrations/0001_initialize.sql
Normal file
@@ -0,0 +1,186 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "appeals" (
|
||||
"approved" BOOLEAN,
|
||||
"ban_reason" TEXT NOT NULL,
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"learned" TEXT NOT NULL,
|
||||
"reason_for_unban" TEXT NOT NULL,
|
||||
"user" JSONB NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "appeal_bans" (
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"created_by" TEXT NOT NULL,
|
||||
"user" TEXT NOT NULL PRIMARY KEY
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "et_members" (
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"created_by" TEXT NOT NULL,
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"is_management" BOOLEAN NOT NULL DEFAULT false,
|
||||
"name" TEXT NOT NULL,
|
||||
"points" INTEGER NOT NULL DEFAULT 0,
|
||||
"roblox_id" INTEGER
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "et_strikes" (
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"created_by" TEXT NOT NULL,
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"reason" TEXT NOT NULL,
|
||||
"user" TEXT NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "events" (
|
||||
"answer" TEXT,
|
||||
"answered_at" DATETIME,
|
||||
"approved" BOOLEAN NOT NULL DEFAULT false,
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"created_by" TEXT NOT NULL,
|
||||
"day" INTEGER NOT NULL,
|
||||
"details" TEXT NOT NULL,
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"month" INTEGER NOT NULL,
|
||||
"pending" BOOLEAN NOT NULL DEFAULT true,
|
||||
"performed_at" DATETIME,
|
||||
"reached_minimum_player_count" BOOLEAN NOT NULL DEFAULT false,
|
||||
"type" TEXT NOT NULL,
|
||||
"year" INTEGER NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "game_appeals" (
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"reason_for_unban" TEXT NOT NULL,
|
||||
"roblox_id" INTEGER NOT NULL,
|
||||
"roblox_username" TEXT NOT NULL,
|
||||
"type" TEXT NOT NULL,
|
||||
"what_happened" TEXT NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "game_mod_logs" (
|
||||
"action" TEXT NOT NULL,
|
||||
"evidence" TEXT NOT NULL,
|
||||
"executed_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"executor" TEXT NOT NULL,
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"target" INTEGER NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "game_mod_notes" (
|
||||
"content" TEXT NOT NULL,
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"created_by" TEXT NOT NULL,
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"target" INTEGER NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "inactivity_notices" (
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"decisions" JSONB NOT NULL,
|
||||
"departments" JSONB NOT NULL DEFAULT [],
|
||||
"end" TEXT NOT NULL,
|
||||
"hiatus" BOOLEAN NOT NULL DEFAULT false,
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"reason" TEXT NOT NULL,
|
||||
"start" TEXT NOT NULL,
|
||||
"user" JSONB NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "push_notifications" (
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"event_id" TEXT NOT NULL,
|
||||
"event_type" TEXT NOT NULL,
|
||||
"token" TEXT NOT NULL
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "reports" (
|
||||
"attachments" JSONB NOT NULL DEFAULT [],
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"open" BOOLEAN NOT NULL DEFAULT true,
|
||||
"target_ids" JSONB NOT NULL DEFAULT [],
|
||||
"target_usernames" JSONB NOT NULL DEFAULT [],
|
||||
"type" TEXT NOT NULL DEFAULT 'exploit',
|
||||
"user" JSONB
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "short_links" (
|
||||
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"destination" TEXT NOT NULL,
|
||||
"path" TEXT NOT NULL PRIMARY KEY,
|
||||
"user" TEXT NOT NULL
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "appeals_id_key" ON "appeals"("id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_appeals_approved_created_at" ON "appeals"("approved", "created_at");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "appeal_bans_user_key" ON "appeal_bans"("user");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "et_members_id_key" ON "et_members"("id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_et_members_id_name" ON "et_members"("id", "name");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "et_strikes_id_key" ON "et_strikes"("id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "events_id_key" ON "events"("id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_events_month_year" ON "events"("month", "year");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "game_appeals_id_key" ON "game_appeals"("id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_game_appeals_created_at" ON "game_appeals"("created_at");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "game_mod_logs_id_key" ON "game_mod_logs"("id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_game_mod_logs_target" ON "game_mod_logs"("target");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "game_mod_notes_id_key" ON "game_mod_notes"("id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_game_mod_notes_target" ON "game_mod_notes"("target");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "inactivity_notices_id_key" ON "inactivity_notices"("id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_inactivity_notices_end_start" ON "inactivity_notices"("end", "start");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "push_notifications_event_id_key" ON "push_notifications"("event_id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "reports_id_key" ON "reports"("id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_reports_created_at_open" ON "reports"("created_at", "open");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "short_links_path_key" ON "short_links"("path");
|
||||
Reference in New Issue
Block a user