OpenTree uses a SQLite database managed via Sequelize ORM.
Table Structure
keychains
| Field | Type | Description |
|---|
| id | UUID (PK) | Primary key |
| name | STRING | Name |
| url | STRING | URL |
| phone | STRING | Phone number |
| email | STRING | Email |
| password | STRING | Password |
| note | TEXT | Note |
| createdAt | DATE | Created time |
| updatedAt | DATE | Updated time |
favorites
| Field | Type | Description |
|---|
| id | UUID (PK) | Primary key |
| name | STRING | Custom name |
| title | STRING | Page title |
| url | STRING | URL |
| favicon | STRING | favicon URL |
| faviconData | BLOB | favicon data |
| tags | JSON | Tags array |
| description | TEXT | Description |
| createdAt | DATE | Created time |
music
| Field | Type | Description |
|---|
| id | UUID (PK) | Primary key |
| name | STRING | Song name |
| artist | STRING | Artist |
| album | STRING | Album |
| duration | FLOAT | Duration (seconds) |
| playlistId | UUID (FK) | Playlist ID |
| filePath | STRING | File path |
| mimeType | STRING | MIME type |
| lastPlayedAt | DATE | Last played |
| playCount | INT | Play count |
music_playlists
| Field | Type | Description |
|---|
| id | UUID (PK) | Primary key |
| name | STRING | Playlist name |
| createdAt | DATE | Created time |
countdowns
| Field | Type | Description |
|---|
| id | UUID (PK) | Primary key |
| name | STRING | Name |
| targetDate | DATEONLY | Target date |
| repeatType | STRING | Repeat type |
| repeatInterval | INT | Repeat interval |
| createdAt | DATE | Created time |
notes
| Field | Type | Description |
|---|
| id | UUID (PK) | Primary key |
| title | STRING | Title |
| content | TEXT | Content |
| folderId | UUID (FK) | Folder ID |
| tags | JSON | Tags |
| pinned | BOOLEAN | Pinned |
| createdAt | DATE | Created time |
| updatedAt | DATE | Updated time |
note_folders
| Field | Type | Description |
|---|
| id | UUID (PK) | Primary key |
| name | STRING | Folder name |
| parentId | UUID (FK) | Parent folder |
| createdAt | DATE | Created time |
wallet_items
| Field | Type | Description |
|---|
| id | UUID (PK) | Primary key |
| type | STRING | Income/Expense |
| amount | FLOAT | Amount |
| category | STRING | Category |
| description | TEXT | Description |
| date | DATEONLY | Date |
| tags | JSON | Tags |
| createdAt | DATE | Created time |
ER Diagram