45 lines
1.4 KiB
SQL
45 lines
1.4 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "Account" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
|
"PaidUp" BOOLEAN NOT NULL DEFAULT true,
|
|
"contactAddressId" TEXT NOT NULL,
|
|
"userId" TEXT,
|
|
CONSTRAINT "Account_contactAddressId_fkey" FOREIGN KEY ("contactAddressId") REFERENCES "ContactAddress" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
CONSTRAINT "Account_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "ContactAddress" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"Name" TEXT NOT NULL,
|
|
"Address1" TEXT NOT NULL,
|
|
"Address2" TEXT NOT NULL,
|
|
"Address3" TEXT NOT NULL,
|
|
"Town" TEXT NOT NULL,
|
|
"PostalCode" TEXT NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "User" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"userId" TEXT NOT NULL,
|
|
"email" TEXT NOT NULL,
|
|
"contactAddressId" TEXT NOT NULL,
|
|
CONSTRAINT "User_contactAddressId_fkey" FOREIGN KEY ("contactAddressId") REFERENCES "ContactAddress" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Role" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"name" TEXT NOT NULL,
|
|
"userId" TEXT,
|
|
CONSTRAINT "Role_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "User_userId_key" ON "User"("userId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Role_name_key" ON "Role"("name");
|