-
Notifications
You must be signed in to change notification settings - Fork 0
Database Schema
darrickyong edited this page Apr 27, 2020
·
17 revisions
| column name | data type | details |
|---|---|---|
id |
integer | not null, primary key |
username |
string | not null, indexed, unique |
email |
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 |
name |
string | not null |
description |
string | |
owner_id |
integer | not null, indexed, foreign key |
created_at |
datetime | not null |
updated_at |
datetime | not null |
-
owner_idreferencesusers - index on
owner_id
| column name | data type | details |
|---|---|---|
id |
integer | not null, primary key |
name |
string | not null |
amount |
integer | not null |
owner_id |
integer | not null, indexed, foreign key |
date |
date | not null |
created_at |
datetime | not null |
updated_at |
datetime | not null |
-
owner_idreferencesusers - index on
owner_id
| column name | data type | details |
|---|---|---|
id |
integer | not null, primary key |
amount |
integer | not null |
payer_id |
integer | not null, indexed, foreign key |
expense_id |
integer | not null, indexed, foreign key |
created_at |
datetime | not null |
updated_at |
datetime | not null |
-
payer_idreferencesusers -
expense_idreferencesexpenses - index on
payer_id - index on
expense_id
| column name | data type | details |
|---|---|---|
id |
integer | not null, primary key |
amount |
integer | not null |
payee_id |
integer | not null, indexed, foreign key |
payer_id |
integer | not null, indexed, foreign key |
date |
date | not null |
created_at |
datetime | not null |
updated_at |
datetime | not null |
-
payee_idreferencesusers -
payer_idreferencesusers - index on
payee_id - index on
payer_id
| column name | data type | details |
|---|---|---|
id |
integer | not null, primary key |
title |
string | |
body |
text | not null |
author_id |
integer | not null, indexed, foreign key |
commentable_type |
string | not null, polymorphic table |
commentable_id |
integer | not null, indexed, polymorphic foreign key |
created_at |
datetime | not null |
updated_at |
datetime | not null |
-
author_idreferencesusers -
commentable_typereferencesexpensesortransactions - index on
author_id - index on
commentable_id
| column name | data type | details |
|---|---|---|
id |
integer | not null, primary key |
user_id |
integer | not null, indexed, foreign key |
friend_id |
integer | not null, indexed, foreign key |
created_at |
datetime | not null |
updated_at |
datetime | not null |
-
user_idreferencesusers -
friend_idreferencesusers - index on
[:user_id, :friend_id], unique: true
| column name | data type | details |
|---|---|---|
id |
integer | not null, primary key |
user_id |
integer | not null, indexed |
group_id |
integer | not null, indexed |
created_at |
datetime | not null |
updated_at |
datetime | not null |
-
user_idreferencesusers -
group_idreferencesgroups - index on
user_id - index on
group_id