The following is a description of the various database tables and attributes. (This document is not yet complete).
accesstokens
Generated user access tokens for accessing the API.
appcontent
Instance-level dynamic content, usually created via the admin dashboard, such as the About and Privacy pages.
appmigrations
All database migrations that have been run on this database.
collectionattributes
Used for additional properties on collections.
collectionkeys
Public / private keypairs for all collections on the instance. Used to sign ActivityPub / fediverse requests.
collectionpasswords
Salted and hashed passwords for password-protected collections.
collectionredirects
Data about former alias
es for collections that have had them changed, so that the old alias
redirects visitors to the new one.
collections
Table that contains collections (i.e. “Blogs”).
id
: int(6). Primary Key. Blog id. Instance specific.
alias
: varchar(100). Blog identifier based on the blog’s title when created.
title
: varchar(255. Cannot be null. Blog name.
description
: varchar(160). Cannot be null. User defined description of blog.
style_sheet
: text. CSS stylesheet data goes here.
script
: text. Currently unused.
format
: varchar(8). User defined format (blog
, novel
, or notebook
).
privacy
: tinyint(1). Cannot be null. 0=Unlisted. 2=Private. 4=Password Protected.
owner_id
: int(6). Cannot be null. The id of the user that published this collection.
view_count
: int(6). Cannot be null. How many views this collection has.
posts
Table that contains data for posts within collections.
id
: Primary Key. Char(16). Randomly generated id.
slug
: varchar(100). Identifier for post. Smartly generated based on post content, favoring: Title > Text > Id.
modify_token
: char(32).
text_appearance
: char(4). Cannot be null. Font class (Serif=norm
, Sans-serif=sans
, Monospace=wrap
)
language
: char2. The post’s language.
rtl
: tinyint(1). Value is 0 if the post is written left-to-right, 1 if written right-to-left (e.g. Arabic), and null if user never explicitly provided this value.
privacy
: Not currently used.
owner_id
: int(6). Id of the author. Id is instance-specific.
collection_id
: int(6). Id of the blog. Id is instance-specific. Null if post is a Draft.
pinned_position
: tinyint(1). The order the post is “pinned” (zero-indexed). Null if not pinned.
created
: timestamp. Cannot be null. Time and date of first publish
updated
: timestamp. Cannot be null. Time and date of last edit
view_count
: int(6). Cannot be null. How many views this post has.
title
: varchar(160). Cannot be null. Title, if author created one (may be empty string).
content
: text. Cannot be null. The content of the post in plain text.
remotefollows
Data about which remote, i.e. ActivityPub / fediverse, users are following which collections.
remoteuserkeys
Public keys of all remote users.
remoteusers
Data needed to communicate with remote users.
userattributes
Additional attributes on users.
userinvites
User invite codes and metadata.
users
Table that contains user data.
id
: int(6). Primary Key. User id. Instance specific.
username
: varchar(100). Cannot be null. Chosen username.
password
: char(60). Cannot be null. Salted and hashed password.
email
: varbinary(255). Encrypted email address. (null if not given by user).
created
: datetime. Cannot be null. Date and time account was created.
usersinvited
Data about which users were brought in by which user-invite.