diff --git a/migrations/20230716195814_create_users.down.sql b/migrations/20230716195814_create_users.down.sql new file mode 100644 index 0000000..842334a --- /dev/null +++ b/migrations/20230716195814_create_users.down.sql @@ -0,0 +1,2 @@ +-- Add down migration script here +DROP TABLE IF EXISTS users; diff --git a/migrations/20230716195814_create_users.up.sql b/migrations/20230716195814_create_users.up.sql new file mode 100644 index 0000000..d21c9ff --- /dev/null +++ b/migrations/20230716195814_create_users.up.sql @@ -0,0 +1,6 @@ +-- Add up migration script here +CREATE TABLE users ( + id SERIAL PRIMARY KEY NOT NULL, + user_name VARCHAR(32) NOT NULL, + pass_hash VARCHAR(512) NOT NULL +); diff --git a/migrations/20230716200855_create_roles.down.sql b/migrations/20230716200855_create_roles.down.sql new file mode 100644 index 0000000..18e9b91 --- /dev/null +++ b/migrations/20230716200855_create_roles.down.sql @@ -0,0 +1,2 @@ +-- Add down migration script here +DROP TABLE IF EXISTS roles; diff --git a/migrations/20230716200855_create_roles.up.sql b/migrations/20230716200855_create_roles.up.sql new file mode 100644 index 0000000..459bf9a --- /dev/null +++ b/migrations/20230716200855_create_roles.up.sql @@ -0,0 +1,4 @@ +-- Add up migration script here +CREATE TABLE roles ( + id SERIAL PRIMARY KEY NOT NULL +); diff --git a/migrations/20230716200955_create_users_roles.down.sql b/migrations/20230716200955_create_users_roles.down.sql new file mode 100644 index 0000000..cc9106e --- /dev/null +++ b/migrations/20230716200955_create_users_roles.down.sql @@ -0,0 +1,2 @@ +-- Add down migration script here +DROP TABLE IF EXISTS users_roles; diff --git a/migrations/20230716200955_create_users_roles.up.sql b/migrations/20230716200955_create_users_roles.up.sql new file mode 100644 index 0000000..34c3d8d --- /dev/null +++ b/migrations/20230716200955_create_users_roles.up.sql @@ -0,0 +1,16 @@ +-- Add up migration script here +CREATE TABLE users_roles ( + id SERIAL PRIMARY KEY NOT NULL, + user_id INTEGER NOT NULL, + role INTEGER NOT NULL, + -- user must exist + CONSTRAINT user_id_fk + FOREIGN KEY(user_id) + REFERENCES users(id) + ON DELETE RESTRICT, + -- role must exist + CONSTRAINT role_fk + FOREIGN KEY(role) + REFERENCES roles(id) + ON DELETE RESTRICT +); diff --git a/migrations/20230716202506_create_role_names.down.sql b/migrations/20230716202506_create_role_names.down.sql new file mode 100644 index 0000000..1e08bf3 --- /dev/null +++ b/migrations/20230716202506_create_role_names.down.sql @@ -0,0 +1,2 @@ +-- Add down migration script here +DROP TABLE IF EXISTS role_names; diff --git a/migrations/20230716202506_create_role_names.up.sql b/migrations/20230716202506_create_role_names.up.sql new file mode 100644 index 0000000..5b6e2ca --- /dev/null +++ b/migrations/20230716202506_create_role_names.up.sql @@ -0,0 +1,17 @@ +-- Add up migration script here +CREATE TABLE IF NOT EXISTS role_names ( + id SERIAL PRIMARY KEY NOT NULL, + language INTEGER NOT NULL, + name VARCHAR(32) NOT NULL, + role INTEGER NOT NULL, + CONSTRAINT language_fk + FOREIGN KEY(language) + REFERENCES supported_languages(id) + ON DELETE RESTRICT, + CONSTRAINT role_fk + FOREIGN KEY(role) + REFERENCES roles(id) + ON DELETE RESTRICT, + CONSTRAINT no_duplicated_role_names + UNIQUE (role, language) +); diff --git a/migrations/20230716202758_add_roles.down.sql b/migrations/20230716202758_add_roles.down.sql new file mode 100644 index 0000000..a9a002e --- /dev/null +++ b/migrations/20230716202758_add_roles.down.sql @@ -0,0 +1,3 @@ +-- Add down migration script here +DELETE FROM roles + WHERE id BETWEEN 1 AND 3; diff --git a/migrations/20230716202758_add_roles.up.sql b/migrations/20230716202758_add_roles.up.sql new file mode 100644 index 0000000..52bcacf --- /dev/null +++ b/migrations/20230716202758_add_roles.up.sql @@ -0,0 +1,2 @@ +-- Add up migration script here +INSERT INTO roles (id) VALUES (1),(2),(3); diff --git a/migrations/20230716203602_add_role_names.down.sql b/migrations/20230716203602_add_role_names.down.sql new file mode 100644 index 0000000..c528191 --- /dev/null +++ b/migrations/20230716203602_add_role_names.down.sql @@ -0,0 +1,3 @@ +-- Add down migration script here +DELETE FROM role_names + WHERE id BETWEEN 1 AND 4; diff --git a/migrations/20230716203602_add_role_names.up.sql b/migrations/20230716203602_add_role_names.up.sql new file mode 100644 index 0000000..579a0c6 --- /dev/null +++ b/migrations/20230716203602_add_role_names.up.sql @@ -0,0 +1,8 @@ +-- Add up migration script here +INSERT INTO role_names + (id, role, name, language) +VALUES + (1, 1, 'admin', 1), + (2, 2, 'reviewer', 1), + (3, 3, 'user', 1), + (4, 1, 'administrateur', 2);