mirror of
https://github.com/wasp-lang/open-saas.git
synced 2025-07-09 23:12:19 +02:00
122 lines
4.1 KiB
Diff
122 lines
4.1 KiB
Diff
--- template/app/migrations/20231213174854_init/migration.sql
|
|
+++ opensaas-sh/app/migrations/20231213174854_init/migration.sql
|
|
@@ -0,0 +1,118 @@
|
|
+-- CreateTable
|
|
+CREATE TABLE "User" (
|
|
+ "id" SERIAL NOT NULL,
|
|
+ "email" TEXT,
|
|
+ "username" TEXT,
|
|
+ "password" TEXT,
|
|
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
+ "lastActiveTimestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
+ "isEmailVerified" BOOLEAN NOT NULL DEFAULT false,
|
|
+ "isMockUser" BOOLEAN NOT NULL DEFAULT false,
|
|
+ "isAdmin" BOOLEAN NOT NULL DEFAULT true,
|
|
+ "emailVerificationSentAt" TIMESTAMP(3),
|
|
+ "passwordResetSentAt" TIMESTAMP(3),
|
|
+ "stripeId" TEXT,
|
|
+ "checkoutSessionId" TEXT,
|
|
+ "hasPaid" BOOLEAN NOT NULL DEFAULT false,
|
|
+ "subscriptionTier" TEXT,
|
|
+ "subscriptionStatus" TEXT,
|
|
+ "sendEmail" BOOLEAN NOT NULL DEFAULT false,
|
|
+ "datePaid" TIMESTAMP(3),
|
|
+ "credits" INTEGER NOT NULL DEFAULT 3,
|
|
+
|
|
+ CONSTRAINT "User_pkey" PRIMARY KEY ("id")
|
|
+);
|
|
+
|
|
+-- CreateTable
|
|
+CREATE TABLE "SocialLogin" (
|
|
+ "id" TEXT NOT NULL,
|
|
+ "provider" TEXT NOT NULL,
|
|
+ "providerId" TEXT NOT NULL,
|
|
+ "userId" INTEGER NOT NULL,
|
|
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
+
|
|
+ CONSTRAINT "SocialLogin_pkey" PRIMARY KEY ("id")
|
|
+);
|
|
+
|
|
+-- CreateTable
|
|
+CREATE TABLE "GptResponse" (
|
|
+ "id" TEXT NOT NULL,
|
|
+ "content" TEXT NOT NULL,
|
|
+ "userId" INTEGER NOT NULL,
|
|
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
+ "updatedAt" TIMESTAMP(3) NOT NULL,
|
|
+
|
|
+ CONSTRAINT "GptResponse_pkey" PRIMARY KEY ("id")
|
|
+);
|
|
+
|
|
+-- CreateTable
|
|
+CREATE TABLE "ContactFormMessage" (
|
|
+ "id" TEXT NOT NULL,
|
|
+ "content" TEXT NOT NULL,
|
|
+ "userId" INTEGER NOT NULL,
|
|
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
+ "isRead" BOOLEAN NOT NULL DEFAULT false,
|
|
+ "repliedAt" TIMESTAMP(3),
|
|
+
|
|
+ CONSTRAINT "ContactFormMessage_pkey" PRIMARY KEY ("id")
|
|
+);
|
|
+
|
|
+-- CreateTable
|
|
+CREATE TABLE "DailyStats" (
|
|
+ "id" SERIAL NOT NULL,
|
|
+ "date" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
+ "totalViews" INTEGER NOT NULL DEFAULT 0,
|
|
+ "prevDayViewsChangePercent" TEXT NOT NULL DEFAULT '0',
|
|
+ "userCount" INTEGER NOT NULL DEFAULT 0,
|
|
+ "paidUserCount" INTEGER NOT NULL DEFAULT 0,
|
|
+ "userDelta" INTEGER NOT NULL DEFAULT 0,
|
|
+ "paidUserDelta" INTEGER NOT NULL DEFAULT 0,
|
|
+ "totalRevenue" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
|
+ "totalProfit" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
|
+
|
|
+ CONSTRAINT "DailyStats_pkey" PRIMARY KEY ("id")
|
|
+);
|
|
+
|
|
+-- CreateTable
|
|
+CREATE TABLE "PageViewSource" (
|
|
+ "date" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
+ "name" TEXT NOT NULL,
|
|
+ "visitors" INTEGER NOT NULL,
|
|
+ "dailyStatsId" INTEGER,
|
|
+
|
|
+ CONSTRAINT "PageViewSource_pkey" PRIMARY KEY ("date","name")
|
|
+);
|
|
+
|
|
+-- CreateTable
|
|
+CREATE TABLE "Logs" (
|
|
+ "id" SERIAL NOT NULL,
|
|
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
+ "message" TEXT NOT NULL,
|
|
+ "level" TEXT NOT NULL,
|
|
+
|
|
+ CONSTRAINT "Logs_pkey" PRIMARY KEY ("id")
|
|
+);
|
|
+
|
|
+-- CreateIndex
|
|
+CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
|
+
|
|
+-- CreateIndex
|
|
+CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
|
|
+
|
|
+-- CreateIndex
|
|
+CREATE UNIQUE INDEX "SocialLogin_provider_providerId_userId_key" ON "SocialLogin"("provider", "providerId", "userId");
|
|
+
|
|
+-- CreateIndex
|
|
+CREATE UNIQUE INDEX "DailyStats_date_key" ON "DailyStats"("date");
|
|
+
|
|
+-- AddForeignKey
|
|
+ALTER TABLE "SocialLogin" ADD CONSTRAINT "SocialLogin_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
+
|
|
+-- AddForeignKey
|
|
+ALTER TABLE "GptResponse" ADD CONSTRAINT "GptResponse_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
+
|
|
+-- AddForeignKey
|
|
+ALTER TABLE "ContactFormMessage" ADD CONSTRAINT "ContactFormMessage_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
+
|
|
+-- AddForeignKey
|
|
+ALTER TABLE "PageViewSource" ADD CONSTRAINT "PageViewSource_dailyStatsId_fkey" FOREIGN KEY ("dailyStatsId") REFERENCES "DailyStats"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|