s3-3on/db/init/create_schema.sql

50 lines
1.0 KiB
MySQL
Raw Normal View History

2022-11-18 16:48:30 +01:00
CREATE TABLE IF NOT EXISTS channels (
id VARCHAR(40),
detail TEXT,
private BOOL,
PRIMARY KEY(id)
);
2022-11-18 15:21:28 +01:00
2022-11-18 16:48:30 +01:00
CREATE TABLE IF NOT EXISTS users (
2022-11-18 17:21:40 +01:00
email VARCHAR(40),
2022-11-18 16:48:30 +01:00
nickname VARCHAR(40) UNIQUE,
password VARCHAR(40),
propic TEXT,
PRIMARY KEY(email)
);
2022-11-18 15:21:28 +01:00
2022-11-18 16:48:30 +01:00
CREATE TABLE IF NOT EXISTS allowed_users (
user_email VARCHAR(40),
channel_id VARCHAR(40),
PRIMARY KEY(user_email, channel_id),
FOREIGN KEY(user_email) REFERENCES users(email)
);
2022-11-18 15:21:28 +01:00
2022-11-18 16:48:30 +01:00
CREATE TABLE IF NOT EXISTS messages (
id VARCHAR(40),
channel_id VARCHAR(40),
data TEXT,
author VARCHAR(40),
ts timestamp NOT NULL DEFAULT NOW(),
PRIMARY KEY(id),
FOREIGN KEY(author) REFERENCES users(email)
);
2022-11-18 15:21:28 +01:00
2022-11-18 16:48:30 +01:00
INSERT INTO
channels (id, detail, private)
VALUES
('Crypto', 'web3 without crypto?', FALSE);
INSERT INTO
channels (id, detail, private)
VALUES
('Random', 'whatever', FALSE);
INSERT INTO
channels (id, detail, private)
VALUES
(
'Brews',
'Share your best caffeine based concoction',
FALSE
);