base service with authentication and user creation
This commit is contained in:
26
db/init.sql
Normal file
26
db/init.sql
Normal file
@@ -0,0 +1,26 @@
|
||||
CREATE TABLE IF NOT EXISTS user (
|
||||
id SERIAL PRIMARY KEY,
|
||||
email TEXT UNIQUE,
|
||||
username TEXT NOT NULL UNIQUE,
|
||||
password_hash TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS channel (
|
||||
id SERIAL PRIMARY KEY,
|
||||
owner INT NOT NULL REFERENCES user(id) ON DELETE CASCADE,
|
||||
name TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS membership (
|
||||
user INT REFERENCES user(id),
|
||||
channel INT REFERENCES channel(id),
|
||||
PRIMARY KEY (user, channel)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS message (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
sender INT REFERENCES user(id) NOT NULL,
|
||||
channel INT REFERENCES channel(id) NOT NULL,
|
||||
type VARCHAR(32) NOT NULL,
|
||||
content TEXT NOT NULL
|
||||
);
|
||||
Reference in New Issue
Block a user