DB Schema - Dedition/WhoDis GitHub Wiki
Database Schema
Users
column name |
data type |
details |
id |
integer |
not null, primary key |
username |
string |
not null |
email |
string |
not null, unique |
profile_pic_url |
string |
allow null |
bio |
text |
allow null |
hashed_password |
string |
not null, BINARY |
created_at |
timestamp |
not null |
updated_at |
timestamp |
not null |
Servers
column name |
data type |
details |
id |
integer |
not null, primary key |
name |
string |
not null |
banner_url |
string |
allow null |
server_icon_url |
string |
allow null |
owner_id |
integer |
not null, foreign key |
dm_channel |
boolean |
default: False |
public |
boolean |
default: True |
created_at |
timestamp |
not null |
updated_at |
timestamp |
not null |
- owner_id references Users table
Server_Users
column name |
data type |
details |
id |
integer |
not null, primary key |
user_id |
integer |
not null, foreign key |
server_id |
integer |
not null, foreign key |
- user_id references Users table
- server_id references Servers table
Channels
column name |
data type |
details |
id |
integer |
not null, primary key |
name |
string |
not null |
server_id |
integer |
not null, foreign key |
created_at |
timestamp |
not null |
updated_at |
timestamp |
not null |
- server_id references Servers table
Channel_Messages
column name |
data type |
details |
id |
integer |
not null, primary key |
user_id |
integer |
not null, foreign key |
content |
text |
not null |
channel_id |
integer |
not null, foreign key |
created_at |
timestamp |
not null |
updated_at |
timestamp |
not null |
- user_id references Users table
- channel_id references Channels table
Friends
column name |
data type |
details |
id |
integer |
not null, primary key |
status |
boolean |
default: False |
user1_id |
integer |
not null, foreign key |
user2_id |
integer |
not null, foreign key |
created_at |
timestamp |
not null |
updated_at |
timestamp |
not null |
- user1_id references Users table
- user2_id references Users table
DM_Server
column name |
data type |
details |
id |
integer |
not null, primary key |
user1_id |
integer |
not null, foreign key |
user2_id |
integer |
not null, foreign key |
created_at |
timestamp |
not null |
updated_at |
timestamp |
not null |
- user1_id references Users table
- user2_id references Users table
Direct_Messages
column name |
data type |
details |
id |
integer |
not null, primary key |
chat_id |
integer |
not null, foreign key |
content |
text |
not null |
sender_id |
integer |
not null, foreign key |
created_at |
timestamp |
not null |
updated_at |
timestamp |
not null |
- sender_id references Users table
- chat_id references DM_Server table