First commit

This commit is contained in:
AndrewTrieu
2023-03-09 11:21:18 +02:00
commit be427eda10
27 changed files with 262 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email VARCHAR(255) UNIQUE,
password CHAR(60),
admin BOOLEAN DEFAULT FALSE
);
CREATE TABLE topics (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id),
name VARCHAR(255) UNIQUE
);
CREATE TABLE questions (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id),
topic_id INTEGER REFERENCES topics(id),
question_text TEXT NOT NULL
);
CREATE TABLE question_answer_options (
id SERIAL PRIMARY KEY,
question_id INTEGER REFERENCES questions(id),
option_text TEXT NOT NULL,
is_correct BOOLEAN DEFAULT FALSE
);
CREATE TABLE question_answers (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id),
question_id INTEGER REFERENCES questions(id),
question_answer_option_id INTEGER REFERENCES question_answer_options(id)
);
CREATE UNIQUE INDEX ON users((lower(email)));
INSERT INTO users (email, password, admin)
VALUES ('admin@admin.com','$2a$10$IML8QCf6xA.alRbW.CG5PuvYc3Qs94vJvoTwbsSehs8s515cUMuZa', true);
INSERT INTO topics (user_id, name)
VALUES ((SELECT id FROM users WHERE email = 'admin@admin.com'), 'Finnish language');