23 lines
863 B
SQL
23 lines
863 B
SQL
CREATE TABLE "user" (
|
|
"id" UUID NOT NULL PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
"createdAt" TIMESTAMPTZ DEFAULT now(),
|
|
"updatedAt" TIMESTAMPTZ DEFAULT now(),
|
|
"identifier" TEXT UNIQUE NOT NULL,
|
|
"wk_hash" TEXT NOT NULL,
|
|
"level.min" INT DEFAULT 1,
|
|
"level.max" INT DEFAULT 3,
|
|
"level.vocabulary.showing" TEXT[],
|
|
"quiz.settings" JSONB
|
|
);
|
|
|
|
CREATE TRIGGER "t_user_updatedAt"
|
|
BEFORE UPDATE ON "user"
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE "f_updatedAt"();
|
|
|
|
CREATE INDEX "idx_user_updatedAt" ON "user" ("updatedAt");
|
|
CREATE INDEX "idx_user_identifier" ON "user" ("identifier");
|
|
CREATE INDEX "idx_user_wk_hash" ON "user" ("wk_hash");
|
|
|
|
INSERT INTO "user" ("id", "identifier") VALUES (uuid_nil(), '');
|