Database Diagram
H15 tháng 2, 2025
TABLE OF CONTENTS
table users {
id integer [pk, default: `identity()`]
username varchar(100) [not null, unique, note: 'Username is unique']
created_at timestamp
user_type user_type [not null, default: 'employee', note: 'type of users']
note: '''
Manage user system
which map from Social login or Self register from the system
username should map with email default
10 | my.it@outlook.com | 02-02-2024 | administrator | {roles: [{name: admin}]}
'''
// user database
}
enum user_type {
employee
manager
administrator
sysops
maintainer
}
table roles {
id integer [pk]
name varchar(50)
created_at timestamp
updated_at timestamp
updated_by varchar(250)
created_by varchar(250)
note: '''
The role of users
For example: maybe we have multiple role likes: Administrator, ContentWriter, Reviewer, etc..
'''
}
table role_permission {
id integer [pk]
permission varchar(200)
role_id integer [ref: > roles.id]
}
table user_roles {
user_id integer [pk]
role_id integer [pk]
}
ref: user_roles.user_id > users.id
ref: user_roles.role_id > roles.id
table posts {
id integer [pk]
title varchar() [note: 'Relate to title of Post']
body text [note: 'Stored content of post']
author_id integer [ref: > users.id] // wrong relation ship
created_at timestamp [note: 'Created user for document']
name varchar(200)
post_status varchar(20) [note: 'Draft-published-privated']
seo json [note: '''
type SEO = {
geoGraph: string
metaTitle: string
}
''']
}