29 lines
816 B
MySQL
29 lines
816 B
MySQL
|
CREATE TYPE Role AS ENUM ('user', 'admin');
|
||
|
|
||
|
CREATE TABLE users (
|
||
|
id UUID NOT NULL PRIMARY KEY,
|
||
|
username VARCHAR UNIQUE NOT NULL,
|
||
|
email VARCHAR UNIQUE NOT NULL,
|
||
|
role Role NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE pwd (
|
||
|
user_id UUID NOT NULL PRIMARY KEY,
|
||
|
password VARCHAR NOT NULL,
|
||
|
CONSTRAINT FK_UserId FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||
|
);
|
||
|
|
||
|
--Initialize default admin user, with password "gamenight!"
|
||
|
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||
|
DO $$
|
||
|
DECLARE
|
||
|
admin_uuid uuid = uuid_generate_v4();
|
||
|
BEGIN
|
||
|
INSERT INTO users (id, username, email, role)
|
||
|
values(admin_uuid, 'admin', '', 'admin');
|
||
|
|
||
|
insert INTO pwd (user_id, password)
|
||
|
values(admin_uuid, '$argon2id$v=19$m=4096,t=3,p=1$zEdUjCAnZqd8DziYWzlFHw$YBLQhKvYIZBY43B8zM6hyBvLKuqTeh0EM5pKOfbWQSI');
|
||
|
END $$;
|
||
|
|