Skip to content

Database schema ​

The SQLite schema built by the versioned migrations of src/main/db/schema.ts (see MIGRATIONS). Columns marked added later are added to existing databases by addColumnIfMissing() (see the architecture).

achievements ​

ColumnTypeConstraintsDefaultAdded later
idTEXTPRIMARY KEY
unlocked_atTEXTNOT NULL

credits ​

ColumnTypeConstraintsDefaultAdded later
library_idTEXTPRIMARY KEY, NOT NULL
person_idTEXTPRIMARY KEY, NOT NULL
roleTEXTPRIMARY KEY, NOT NULL
positionINTEGERNOT NULL

library ​

ColumnTypeConstraintsDefaultAdded later
idTEXTPRIMARY KEY
pathTEXTNOT NULL, UNIQUE
titleTEXTNOT NULL
page_countINTEGERNOT NULL
current_pageINTEGERNOT NULL0
added_atTEXTNOT NULL
last_opened_atTEXTNOT NULL
file_countINTEGERNOT NULL0yes
file_sizeINTEGERNOT NULL0yes
ratingINTEGERNOT NULL0yes
tagsTEXTNOT NULL'[]'yes
title_lockedINTEGERNOT NULL0yes
seriesTEXTyes
volumeTEXTyes
release_dateTEXTyes
languageTEXTyes
avg_page_widthINTEGERyes
avg_page_heightINTEGERyes
finished_atTEXTyes

library_folders ​

ColumnTypeConstraintsDefaultAdded later
idTEXTPRIMARY KEY
pathTEXTNOT NULL
added_atTEXTNOT NULL
watchedINTEGERNOT NULL1

people ​

ColumnTypeConstraintsDefaultAdded later
idTEXTPRIMARY KEY
first_nameTEXTNOT NULL, UNIQUE''
last_nameTEXTNOT NULL, UNIQUE
nationalityTEXT

reading_list_items ​

ColumnTypeConstraintsDefaultAdded later
list_idTEXTPRIMARY KEY, NOT NULL
library_idTEXTPRIMARY KEY, NOT NULL
positionINTEGERNOT NULL

reading_lists ​

ColumnTypeConstraintsDefaultAdded later
idTEXTPRIMARY KEY
nameTEXTNOT NULL
created_atTEXTNOT NULL
positionINTEGERNOT NULL0yes
user_idTEXTNOT NULL'default'yes

reading_sessions ​

ColumnTypeConstraintsDefaultAdded later
idINTEGERPRIMARY KEY
library_idTEXTNOT NULL
dayTEXTNOT NULL
secondsINTEGERNOT NULL
user_idTEXTNOT NULL'default'yes

settings ​

ColumnTypeConstraintsDefaultAdded later
keyTEXTPRIMARY KEY
valueTEXTNOT NULL

user_achievements ​

ColumnTypeConstraintsDefaultAdded later
user_idTEXTPRIMARY KEY, NOT NULL
idTEXTPRIMARY KEY, NOT NULL
unlocked_atTEXTNOT NULL

user_books ​

ColumnTypeConstraintsDefaultAdded later
user_idTEXTPRIMARY KEY, NOT NULL
library_idTEXTPRIMARY KEY, NOT NULL
current_pageINTEGERNOT NULL0
ratingINTEGERNOT NULL0
tagsTEXTNOT NULL'[]'
finished_atTEXT
last_opened_atTEXTNOT NULL

user_settings ​

ColumnTypeConstraintsDefaultAdded later
user_idTEXTPRIMARY KEY, NOT NULL
keyTEXTPRIMARY KEY, NOT NULL
valueTEXTNOT NULL

users ​

ColumnTypeConstraintsDefaultAdded later
idTEXTPRIMARY KEY
nicknameTEXTNOT NULL
avatarBLOB
avatar_typeTEXT
created_atTEXTNOT NULL
last_active_atTEXTNOT NULL''

Indexes ​

IndexTableColumns
idx_credits_person_idcreditsperson_id
idx_reading_lists_user_idreading_listsuser_id
idx_reading_sessions_dayreading_sessionsday
idx_reading_sessions_user_dayreading_sessionsuser_id, day
idx_user_books_library_iduser_bookslibrary_id