GoBlog/docs/storage.md

32 lines
927 B
Markdown
Raw Permalink Normal View History

2021-09-26 11:26:32 +00:00
# GoBlog's storage system
2021-12-24 13:50:36 +00:00
GoBlog stores all data that must be persistent in the subdirectory `data` of the current working directory. This directory contains the SQLite database file and the directory media that contains all uploaded files.
2021-09-26 11:26:32 +00:00
## Database
GoBlog uses a SQLite database for storing most of the data (posts, comments, webmention, sessions, etc.). The database is accessed using the Go library [mattn/go-sqlite3](https://github.com/mattn/go-sqlite3). With each startup it is checked if there are schema migrations to be performed on the database.
Currently there are the following database tables:
```
activitypub_followers
comments
deleted
indieauthauth
indieauthtoken
migrations
notifications
persistent_cache
post_parameters
posts
posts_fts
queue
reactions
2021-09-26 11:26:32 +00:00
sessions
shortpath
webmentions
2021-12-24 13:50:36 +00:00
```
## Media files
To prevent data duplication, GoBlog stores files with the filename of the SHA-256 hash of the file.