mirror of
https://github.com/1f349/lavender.git
synced 2024-10-18 16:41:51 +01:00
70 lines
1.8 KiB
MySQL
70 lines
1.8 KiB
MySQL
|
CREATE TABLE users
|
||
|
(
|
||
|
id INTEGER NOT NULL UNIQUE PRIMARY KEY AUTOINCREMENT,
|
||
|
subject TEXT NOT NULL UNIQUE,
|
||
|
password TEXT NOT NULL,
|
||
|
|
||
|
email TEXT NOT NULL,
|
||
|
email_verified BOOLEAN NOT NULL DEFAULT 0,
|
||
|
|
||
|
updated_at DATETIME NOT NULL,
|
||
|
registered DATETIME NOT NULL,
|
||
|
active BOOLEAN NOT NULL DEFAULT 1
|
||
|
);
|
||
|
|
||
|
CREATE INDEX users_subject ON users (subject);
|
||
|
|
||
|
CREATE TABLE profiles
|
||
|
(
|
||
|
subject TEXT NOT NULL UNIQUE PRIMARY KEY,
|
||
|
name TEXT NOT NULL,
|
||
|
picture TEXT NOT NULL DEFAULT '',
|
||
|
website TEXT NOT NULL DEFAULT '',
|
||
|
pronouns TEXT NOT NULL DEFAULT 'they/them',
|
||
|
birthdate DATE NULL,
|
||
|
zone TEXT NOT NULL DEFAULT 'UTC',
|
||
|
locale TEXT NOT NULL DEFAULT 'en-US',
|
||
|
updated_at DATETIME NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE roles
|
||
|
(
|
||
|
id INTEGER NOT NULL UNIQUE PRIMARY KEY AUTOINCREMENT,
|
||
|
role TEXT NOT NULL UNIQUE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE users_roles
|
||
|
(
|
||
|
role_id INTEGER NOT NULL,
|
||
|
user_id INTEGER NOT NULL,
|
||
|
|
||
|
FOREIGN KEY (role_id) REFERENCES roles (id),
|
||
|
FOREIGN KEY (user_id) REFERENCES users (id),
|
||
|
|
||
|
CONSTRAINT user_role UNIQUE (role_id, user_id)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE otp
|
||
|
(
|
||
|
subject INTEGER NOT NULL UNIQUE PRIMARY KEY,
|
||
|
secret TEXT NOT NULL,
|
||
|
digits INTEGER NOT NULL,
|
||
|
|
||
|
FOREIGN KEY (subject) REFERENCES users (subject)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE client_store
|
||
|
(
|
||
|
subject TEXT NOT NULL UNIQUE PRIMARY KEY,
|
||
|
name TEXT NOT NULL,
|
||
|
secret TEXT NOT NULL UNIQUE,
|
||
|
domain TEXT NOT NULL,
|
||
|
owner_subject TEXT NOT NULL,
|
||
|
perms TEXT NOT NULL,
|
||
|
public BOOLEAN NOT NULL,
|
||
|
sso BOOLEAN NOT NULL,
|
||
|
active BOOLEAN NOT NULL DEFAULT 1,
|
||
|
|
||
|
FOREIGN KEY (owner_subject) REFERENCES users (subject)
|
||
|
);
|