51 lines
1.2 KiB
SQL
51 lines
1.2 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "EventType" (
|
|
"id" SERIAL NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"slug" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"locations" JSONB,
|
|
"length" INTEGER NOT NULL,
|
|
"hidden" BOOLEAN NOT NULL DEFAULT false,
|
|
"userId" INTEGER,
|
|
|
|
PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Credential" (
|
|
"id" SERIAL NOT NULL,
|
|
"type" TEXT NOT NULL,
|
|
"key" JSONB NOT NULL,
|
|
"userId" INTEGER,
|
|
|
|
PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "users" (
|
|
"id" SERIAL NOT NULL,
|
|
"username" TEXT,
|
|
"name" TEXT,
|
|
"email" TEXT,
|
|
"password" TEXT,
|
|
"bio" TEXT,
|
|
"avatar" TEXT,
|
|
"timeZone" TEXT NOT NULL DEFAULT E'Europe/London',
|
|
"weekStart" TEXT DEFAULT E'Sunday',
|
|
"startTime" INTEGER NOT NULL DEFAULT 0,
|
|
"endTime" INTEGER NOT NULL DEFAULT 1440,
|
|
"created" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "users.email_unique" ON "users"("email");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "EventType" ADD FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Credential" ADD FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|