-- 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");