Add basic users, roles, and localized names

master
Tait Hoyem 10 months ago
parent 5b964c9650
commit 2dea64ea4a

@ -0,0 +1,2 @@
-- Add down migration script here
DROP TABLE IF EXISTS users;

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

@ -0,0 +1,2 @@
-- Add down migration script here
DROP TABLE IF EXISTS roles;

@ -0,0 +1,4 @@
-- Add up migration script here
CREATE TABLE roles (
id SERIAL PRIMARY KEY NOT NULL
);

@ -0,0 +1,2 @@
-- Add down migration script here
DROP TABLE IF EXISTS users_roles;

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

@ -0,0 +1,2 @@
-- Add down migration script here
DROP TABLE IF EXISTS role_names;

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

@ -0,0 +1,3 @@
-- Add down migration script here
DELETE FROM roles
WHERE id BETWEEN 1 AND 3;

@ -0,0 +1,2 @@
-- Add up migration script here
INSERT INTO roles (id) VALUES (1),(2),(3);

@ -0,0 +1,3 @@
-- Add down migration script here
DELETE FROM role_names
WHERE id BETWEEN 1 AND 4;

@ -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);
Loading…
Cancel
Save