STRAPS_LOCALHOST/prisma/migrations/20251228085634_add_users_model/migration.sql

88 lines
2.6 KiB
SQL

-- CreateTable
CREATE TABLE "users" (
"id" TEXT NOT NULL,
"name" VARCHAR NOT NULL,
"role" VARCHAR NOT NULL,
"coach_id" TEXT,
"created_at" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "users_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "activity_logs" (
"id" SERIAL NOT NULL,
"timestamp" TIMESTAMP(6),
"status" VARCHAR,
"confidence" VARCHAR,
"details" JSONB,
"user_id" TEXT,
CONSTRAINT "activity_logs_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "training_menus" (
"id" SERIAL NOT NULL,
"name" VARCHAR,
"exercises" JSONB,
"created_at" TIMESTAMP(6),
"author_id" TEXT,
"client_id" TEXT,
CONSTRAINT "training_menus_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "user_recaps" (
"id" SERIAL NOT NULL,
"menu_id" INTEGER,
"user_id" TEXT,
"summary" JSONB,
"completed_at" TIMESTAMP(6),
CONSTRAINT "user_recaps_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "ix_users_id" ON "users"("id");
-- CreateIndex
CREATE INDEX "ix_users_coach_id" ON "users"("coach_id");
-- CreateIndex
CREATE INDEX "ix_activity_logs_id" ON "activity_logs"("id");
-- CreateIndex
CREATE INDEX "ix_training_menus_id" ON "training_menus"("id");
-- CreateIndex
CREATE INDEX "ix_training_menus_name" ON "training_menus"("name");
-- CreateIndex
CREATE INDEX "ix_training_menus_author_id" ON "training_menus"("author_id");
-- CreateIndex
CREATE INDEX "ix_user_recaps_id" ON "user_recaps"("id");
-- CreateIndex
CREATE INDEX "ix_user_recaps_user_id" ON "user_recaps"("user_id");
-- AddForeignKey
ALTER TABLE "users" ADD CONSTRAINT "users_coach_id_fkey" FOREIGN KEY ("coach_id") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "activity_logs" ADD CONSTRAINT "activity_logs_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "training_menus" ADD CONSTRAINT "training_menus_author_id_fkey" FOREIGN KEY ("author_id") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE NO ACTION;
-- AddForeignKey
ALTER TABLE "training_menus" ADD CONSTRAINT "training_menus_client_id_fkey" FOREIGN KEY ("client_id") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE NO ACTION;
-- AddForeignKey
ALTER TABLE "user_recaps" ADD CONSTRAINT "user_recaps_menu_id_fkey" FOREIGN KEY ("menu_id") REFERENCES "training_menus"("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
-- AddForeignKey
ALTER TABLE "user_recaps" ADD CONSTRAINT "user_recaps_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;