This repository has been archived on 2025-12-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
quizzy-application/flyway/sql/V1___initial_schema.sql
AndrewTrieu be427eda10 First commit
2023-03-09 11:21:18 +02:00

42 lines
1.1 KiB
SQL

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