Merged database migrations
This commit is contained in:
parent
a5143773aa
commit
a0407f43bb
|
@ -1,15 +0,0 @@
|
|||
-- +micrate Up
|
||||
-- SQL in section 'Up' is executed when this migration is applied
|
||||
CREATE TABLE users(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
firstname TEXT NOT NULL,
|
||||
lastname TEXT NOT NULL,
|
||||
email TEXT NOT NULL,
|
||||
PASSWORD TEXT NOT NULL,
|
||||
blocked BOOLEAN NOT NULL,
|
||||
UNIQUE (firstname, lastname, email)
|
||||
);
|
||||
|
||||
-- +micrate Down
|
||||
-- SQL section 'Down' is executed when this migration is rolled back
|
||||
DROP TABLE users;
|
|
@ -1,15 +0,0 @@
|
|||
-- +micrate Up
|
||||
-- SQL in section 'Up' is executed when this migration is applied
|
||||
CREATE TYPE user_roles AS ENUM ('Admin', 'Teacher', 'Student');
|
||||
|
||||
ALTER TABLE
|
||||
users
|
||||
ADD
|
||||
COLUMN role user_roles NOT NULL;
|
||||
|
||||
-- +micrate Down
|
||||
-- SQL section 'Down' is executed when this migration is rolled back
|
||||
ALTER TABLE
|
||||
users DROP COLUMN role;
|
||||
|
||||
DROP TYPE user_roles;
|
|
@ -1,27 +0,0 @@
|
|||
-- +micrate Up
|
||||
-- SQL in section 'Up' is executed when this migration is applied
|
||||
CREATE TABLE votes(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
student_id BIGINT NOT NULL UNIQUE REFERENCES students(id)
|
||||
);
|
||||
|
||||
ALTER TABLE
|
||||
students
|
||||
ADD
|
||||
COLUMN vote_id BIGINT UNIQUE REFERENCES votes(id);
|
||||
|
||||
CREATE TABLE teacher_votes(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
vote_id BIGINT NOT NULL REFERENCES votes(id),
|
||||
teacher_id BIGINT NOT NULL REFERENCES teachers(id),
|
||||
priority INT NOT NULL
|
||||
);
|
||||
|
||||
-- +micrate Down
|
||||
-- SQL section 'Down' is executed when this migration is rolled back
|
||||
ALTER TABLE
|
||||
students DROP COLUMN vote_id;
|
||||
|
||||
DROP TABLE teacher_votes;
|
||||
|
||||
DROP TABLE votes;
|
|
@ -1,5 +1,18 @@
|
|||
-- +micrate Up
|
||||
-- SQL in section 'Up' is executed when this migration is applied
|
||||
CREATE TYPE user_roles AS ENUM ('Admin', 'Teacher', 'Student');
|
||||
|
||||
CREATE TABLE users(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
firstname TEXT NOT NULL,
|
||||
lastname TEXT NOT NULL,
|
||||
email TEXT NOT NULL,
|
||||
PASSWORD TEXT NOT NULL,
|
||||
role user_roles NOT NULL,
|
||||
blocked BOOLEAN NOT NULL,
|
||||
UNIQUE (firstname, lastname, email)
|
||||
);
|
||||
|
||||
CREATE TABLE admins(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
user_id BIGINT NOT NULL UNIQUE REFERENCES users(id)
|
||||
|
@ -33,19 +46,35 @@ ALTER TABLE
|
|||
ADD
|
||||
COLUMN student_id BIGINT UNIQUE REFERENCES students(id);
|
||||
|
||||
CREATE TABLE votes(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
student_id BIGINT NOT NULL UNIQUE REFERENCES students(id)
|
||||
);
|
||||
|
||||
ALTER TABLE
|
||||
students
|
||||
ADD
|
||||
COLUMN vote_id BIGINT UNIQUE REFERENCES votes(id);
|
||||
|
||||
CREATE TABLE teacher_votes(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
vote_id BIGINT NOT NULL REFERENCES votes(id),
|
||||
teacher_id BIGINT NOT NULL REFERENCES teachers(id),
|
||||
priority INT NOT NULL
|
||||
);
|
||||
|
||||
-- +micrate Down
|
||||
-- SQL section 'Down' is executed when this migration is rolled back
|
||||
ALTER TABLE
|
||||
users DROP COLUMN admin_id;
|
||||
DROP TABLE teacher_votes;
|
||||
|
||||
ALTER TABLE
|
||||
users DROP COLUMN teacher_id;
|
||||
|
||||
ALTER TABLE
|
||||
users DROP COLUMN student_id;
|
||||
DROP TABLE votes;
|
||||
|
||||
DROP TABLE admins;
|
||||
|
||||
DROP TABLE teachers;
|
||||
|
||||
DROP TABLE students;
|
||||
DROP TABLE students;
|
||||
|
||||
DROP TABLE users;
|
||||
|
||||
DROP TYPE user_roles;
|
Loading…
Reference in a new issue