Schema - gradyzhu/smilr GitHub Wiki
Navigation
Database Schema
user
Column | Data Type | Details |
---|---|---|
id |
integer | not null, primary key, indexed |
username |
string | not null, unique, indexed |
email |
string | not null, unique, indexed |
password_digest |
string | not null |
session_token |
string | not null, unique, indexed |
created_at |
datetime | not null |
updated_at |
datetime | not null |
photos
Column | Data Type | Details |
---|---|---|
id |
integer | not null, primary key, indexed |
user_id |
integer | not null, indexed, foreign key |
album_id |
integer | indexed, foreign key |
title |
string | |
description |
text | |
date_taken |
datetime | |
date_uploaded |
datetime | not null |
updated_at |
datetime | not null |
user_id
foreign key referencesusers
album_id
foreign key referencesalbums
albums
Column | Data Type | Details |
---|---|---|
id |
integer | not null, primary key, indexed |
user_id |
integer | not null, indexed, foreign key |
name |
string | not null |
description |
text | |
created_at |
datetime | not null |
updated_at |
datetime | not null |
user_id
foreign key referencesusers
comments
Column | Data Type | Details |
---|---|---|
id |
integer | not null, primary key, indexed |
author_id |
integer | not null, indexed, foreign key |
photo_id |
integer | not null, indexed, foreign key |
body |
string | not null |
created_at |
datetime | not null |
updated_at |
datetime | not null |
author_id
foreign key referencesusers
photo_id
foreign key referencesphotos
tags
Column | Data Type | Details |
---|---|---|
id |
integer | not null, primary key, indexed |
name |
string | not null |
created_at |
datetime | not null |
Joins Tables
album_photos
Column | Data Type | Details |
---|---|---|
id |
integer | not null, primary key, indexed |
album_id |
integer | not null, indexed, foreign key |
photo_id |
integer | not null, indexed, foreign key |
album_id
referencesalbums
photo_id
referencesphotos
[:album_id, :photo_id]
unique: true
taggings
Column | Data Type | Details |
---|---|---|
id |
integer | not null, primary key, indexed |
tag_id |
integer | not null, indexed, foreign key |
photo_id |
integer | not null, indexed, foreign key |
tag_id
foreign keytags
photo_id
foreign keyphotos
[:tag_id, :photo_id]
unique: true