From 2dea64ea4acae2c29567b38e09ada978217cc144 Mon Sep 17 00:00:00 2001 From: Tait Hoyem Date: Sun, 16 Jul 2023 14:50:24 -0600 Subject: [PATCH] Add basic users, roles, and localized names --- migrations/20230716195814_create_users.down.sql | 2 ++ migrations/20230716195814_create_users.up.sql | 6 ++++++ migrations/20230716200855_create_roles.down.sql | 2 ++ migrations/20230716200855_create_roles.up.sql | 4 ++++ .../20230716200955_create_users_roles.down.sql | 2 ++ .../20230716200955_create_users_roles.up.sql | 16 ++++++++++++++++ .../20230716202506_create_role_names.down.sql | 2 ++ .../20230716202506_create_role_names.up.sql | 17 +++++++++++++++++ migrations/20230716202758_add_roles.down.sql | 3 +++ migrations/20230716202758_add_roles.up.sql | 2 ++ .../20230716203602_add_role_names.down.sql | 3 +++ migrations/20230716203602_add_role_names.up.sql | 8 ++++++++ 12 files changed, 67 insertions(+) create mode 100644 migrations/20230716195814_create_users.down.sql create mode 100644 migrations/20230716195814_create_users.up.sql create mode 100644 migrations/20230716200855_create_roles.down.sql create mode 100644 migrations/20230716200855_create_roles.up.sql create mode 100644 migrations/20230716200955_create_users_roles.down.sql create mode 100644 migrations/20230716200955_create_users_roles.up.sql create mode 100644 migrations/20230716202506_create_role_names.down.sql create mode 100644 migrations/20230716202506_create_role_names.up.sql create mode 100644 migrations/20230716202758_add_roles.down.sql create mode 100644 migrations/20230716202758_add_roles.up.sql create mode 100644 migrations/20230716203602_add_role_names.down.sql create mode 100644 migrations/20230716203602_add_role_names.up.sql 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);