-
Notifications
You must be signed in to change notification settings - Fork 1
Database Schema
greathmaster edited this page Mar 6, 2020
·
9 revisions
column name |
data type |
details |
|---|---|---|
| id | integer | not null, primary key |
| username | string | not null, indexed, unique |
| string | not null, indexed, unique | |
| password_digest | string | not null |
| session_token | string | not null, indexed, unique |
| created_at | datetime | not null |
| updated_at | datetime | not null |
- index on username, unique: true
- index on email, unique: true
- index on session_token, unique: true
column name |
data type |
details |
|---|---|---|
| id | integer | not null, primary key |
| content | string | not null |
| channel_id | integer | not null, indexed |
| sender_id | integer | not null, indexed |
| created_at | datetime | not null |
| updated_at | datetime | not null |
- sender_id references users
- channel_id references channels
column name |
data type |
details |
|---|---|---|
| id | integer | not null, primary key |
| user_id | integer | not null, indexed, foreign key |
| channel_id | integer | not null, indexed, foreign key |
| created_at | datetime | not null |
| updated_at | datetime | not null |
- user_id references users
- channel_id references channels
- index on [:channel_id, :user_id], unique: true
column_name |
data_type |
details |
|---|---|---|
| id | integer | not null, primary key |
| name | text | not null |
| owner_id | integer | not null, indexed, foreign key |
| private | boolean | [true, false]: default: false |
| created_at | datetime | not null |
| updated_at | datetime | not null |
- owner_id references users
column_name |
data_type |
details |
|---|---|---|
| id | integer | not null, primary key |
| name | text | not null |
| url | text | not null |
| owner_id | integer | not null, indexed, foreign key |
| created_at | datetime | not null |
| updated_at | datetime | not null |
- owner_id references users
column_name |
data_type |
details |
|---|---|---|
| id | integer | not null, primary key |
| workspace_id | integer | not null, indexed, foreign key |
| channel_id | integer | not null, indexed, foreign key |
| created_at | datetime | not null |
| updated_at | datetime | not null |
- workspace_id references workspaces
- channel_id references channels
- index on [:workspace_id, :user_id], unique: true