First commit
This commit is contained in:
41
flyway/sql/V1___initial_schema.sql
Normal file
41
flyway/sql/V1___initial_schema.sql
Normal 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');
|
||||
Reference in New Issue
Block a user