Database Schema - RobertVogue/Passport GitHub Wiki
Database Schema
Users
| Attribute Name | Attribute Type | Constraints |
|---|---|---|
| id | integer | Primary Key, Not Null |
| user_name | varchar | Not Null, Unique, 20 chars or less |
| display_name | varchar | Not Null, 30 chars or less |
| varchar | Not Null, Unique, 50 chars or less | |
| hashed_password | string.binary | Not Null |
| createdAt | datetime | Not Null |
| updatedAt | datetime | Not Null |
Model Associations:
- Unique index on
[user_name, display_name, email] - Sequelize
hasManyPassportassociation.
Passports
| Attribute Name | Attribute Type | Constraints |
|---|---|---|
| id | integer | Primary Key, Not Null |
| name | varchar | not null, 30 chars or less |
| user_id | integer | Foreign Key, Not Null |
| passport_status | string | Not Null |
| createdAt | datetime | Not Null |
| updatedAt | datetime | Not Null |
Model Associations:
user_idreferencesUserstable.- Sequelize
hasManyStamps association - Sequelize
belongsToUsers association
Stamps
| Attribute Name | Attribute Type | Constraints |
|---|---|---|
| id | integer | Primary Key, Not Null |
| passport_id | integer | Foreign Key, Not Null |
| countries_id | integer | Foreign Key, Not Null |
| tags_id | integer | Foreign Key, Not Null |
| name | varchar | Not Null, 30 chars or less |
| detailed_location | string | Not Null |
| dates | datetime | Not Null |
| price | string | Not Null |
| review | text | Not Null |
| rating | integer | Not Null |
| createdAt | datetime | Not Null |
| updatedAt | datetime | Not Null |
Model Associations:
passport_idreferencesPassportstable.countries_idreferencesCountriestable.tags_idreferencesStamps_Tagstable.- Sequelize
belongsToPassportsassociation. - Sequelize
belongsToCountriesassociation. - Sequelize
belongsToStamps_Tagsassociation.
Countries
| Attribute Name | Attribute Type | Constraints |
|---|---|---|
| id | integer | Primary Key, Not Null |
| name | string | Not Null, Unique |
| createdAt | datetime | Not Null |
| updatedAt | datetime | Not Null |
Model Associations:
- Sequelize
hasManyStampsassociation.
Stamp Tags
| Attribute Name | Attribute Type | Constraints |
|---|---|---|
| id | integer | Primary Key, Not Null |
| name | varchar | Not Null |
| createdAt | datetime | Not Null |
| updatedAt | datetime | Not Null |
Model Associations:
- Sequelize
hasManyStampsassociation.
Diagram Visual
