mirror of
https://github.com/i701/sarlink-portal.git
synced 2025-02-23 22:01:59 +00:00
111 lines
3.1 KiB
MySQL
111 lines
3.1 KiB
MySQL
|
-- CreateTable
|
||
|
CREATE TABLE "user" (
|
||
|
"id" TEXT NOT NULL,
|
||
|
"name" TEXT,
|
||
|
"email" TEXT,
|
||
|
"emailVerified" BOOLEAN NOT NULL DEFAULT false,
|
||
|
"firstPaymentDone" BOOLEAN NOT NULL DEFAULT false,
|
||
|
"verified" BOOLEAN NOT NULL DEFAULT false,
|
||
|
"address" TEXT,
|
||
|
"id_card" TEXT,
|
||
|
"dob" TIMESTAMP(3),
|
||
|
"image" TEXT,
|
||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||
|
"phoneNumber" TEXT NOT NULL,
|
||
|
"phoneNumberVerified" BOOLEAN NOT NULL DEFAULT false,
|
||
|
"role" TEXT,
|
||
|
"lang" TEXT,
|
||
|
"atollId" TEXT,
|
||
|
"islandId" TEXT,
|
||
|
|
||
|
CONSTRAINT "user_pkey" PRIMARY KEY ("id")
|
||
|
);
|
||
|
|
||
|
-- CreateTable
|
||
|
CREATE TABLE "session" (
|
||
|
"id" TEXT NOT NULL,
|
||
|
"userId" TEXT NOT NULL,
|
||
|
"token" TEXT NOT NULL,
|
||
|
"expiresAt" TIMESTAMP(3) NOT NULL,
|
||
|
"ipAddress" TEXT,
|
||
|
"userAgent" TEXT,
|
||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||
|
|
||
|
CONSTRAINT "session_pkey" PRIMARY KEY ("id")
|
||
|
);
|
||
|
|
||
|
-- CreateTable
|
||
|
CREATE TABLE "account" (
|
||
|
"id" TEXT NOT NULL,
|
||
|
"userId" TEXT NOT NULL,
|
||
|
"accountId" TEXT NOT NULL,
|
||
|
"providerId" TEXT NOT NULL,
|
||
|
"accessToken" TEXT,
|
||
|
"refreshToken" TEXT,
|
||
|
"accessTokenExpiresAt" TIMESTAMP(3),
|
||
|
"refreshTokenExpiresAt" TIMESTAMP(3),
|
||
|
"scope" TEXT,
|
||
|
"password" TEXT,
|
||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||
|
"idToken" TEXT,
|
||
|
|
||
|
CONSTRAINT "account_pkey" PRIMARY KEY ("id")
|
||
|
);
|
||
|
|
||
|
-- CreateTable
|
||
|
CREATE TABLE "verification" (
|
||
|
"id" TEXT NOT NULL,
|
||
|
"identifier" TEXT NOT NULL,
|
||
|
"value" TEXT NOT NULL,
|
||
|
"expiresAt" TIMESTAMP(3) NOT NULL,
|
||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||
|
|
||
|
CONSTRAINT "verification_pkey" PRIMARY KEY ("id")
|
||
|
);
|
||
|
|
||
|
-- CreateTable
|
||
|
CREATE TABLE "Atoll" (
|
||
|
"id" TEXT NOT NULL,
|
||
|
"name" TEXT NOT NULL,
|
||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||
|
|
||
|
CONSTRAINT "Atoll_pkey" PRIMARY KEY ("id")
|
||
|
);
|
||
|
|
||
|
-- CreateTable
|
||
|
CREATE TABLE "Island" (
|
||
|
"id" TEXT NOT NULL,
|
||
|
"atollId" TEXT NOT NULL,
|
||
|
"name" TEXT NOT NULL,
|
||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||
|
|
||
|
CONSTRAINT "Island_pkey" PRIMARY KEY ("id")
|
||
|
);
|
||
|
|
||
|
-- CreateIndex
|
||
|
CREATE UNIQUE INDEX "user_email_key" ON "user"("email");
|
||
|
|
||
|
-- CreateIndex
|
||
|
CREATE UNIQUE INDEX "user_id_card_key" ON "user"("id_card");
|
||
|
|
||
|
-- CreateIndex
|
||
|
CREATE UNIQUE INDEX "user_phoneNumber_key" ON "user"("phoneNumber");
|
||
|
|
||
|
-- CreateIndex
|
||
|
CREATE UNIQUE INDEX "session_token_key" ON "session"("token");
|
||
|
|
||
|
-- AddForeignKey
|
||
|
ALTER TABLE "user" ADD CONSTRAINT "user_atollId_fkey" FOREIGN KEY ("atollId") REFERENCES "Atoll"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||
|
|
||
|
-- AddForeignKey
|
||
|
ALTER TABLE "user" ADD CONSTRAINT "user_islandId_fkey" FOREIGN KEY ("islandId") REFERENCES "Island"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||
|
|
||
|
-- AddForeignKey
|
||
|
ALTER TABLE "Island" ADD CONSTRAINT "Island_atollId_fkey" FOREIGN KEY ("atollId") REFERENCES "Atoll"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|