67 lines
2.1 KiB
SQL
67 lines
2.1 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "users" (
|
|
"id" TEXT NOT NULL,
|
|
"email" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"password_hash" TEXT NOT NULL,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "users_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "recordings" (
|
|
"id" TEXT NOT NULL,
|
|
"user_id" TEXT NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"audio_file_path" TEXT NOT NULL,
|
|
"duration" INTEGER NOT NULL,
|
|
"transcript" TEXT,
|
|
"summary" TEXT,
|
|
"is_transcribing" BOOLEAN NOT NULL DEFAULT false,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "recordings_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "generated_apps" (
|
|
"id" TEXT NOT NULL,
|
|
"user_id" TEXT NOT NULL,
|
|
"recording_id" TEXT NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"html_content" TEXT NOT NULL,
|
|
"prd_content" TEXT,
|
|
"ui_ux_design" TEXT,
|
|
"app_type" TEXT,
|
|
"status" TEXT NOT NULL DEFAULT 'completed',
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "generated_apps_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "users_email_key" ON "users"("email");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "recordings_user_id_idx" ON "recordings"("user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "generated_apps_user_id_idx" ON "generated_apps"("user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "generated_apps_recording_id_idx" ON "generated_apps"("recording_id");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "recordings" ADD CONSTRAINT "recordings_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "generated_apps" ADD CONSTRAINT "generated_apps_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "generated_apps" ADD CONSTRAINT "generated_apps_recording_id_fkey" FOREIGN KEY ("recording_id") REFERENCES "recordings"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|