Package: falocalrepo-database
FALocalRepo-DatabaseDatabase functionality forfalocalrepo.TablesTo store its information, the database uses separate tables:USERS,SUBMISSIONS,JOURNALS,SETTINGS,
andHISTORY.Note: bar-separated lists are formatted as|item1||item2|to properly isolate all elementsUsersThe users' table contains a list of all the users that have been download with the program, the folders that have been
downloaded, and the submissions found in each of those.Each entry contains the following fields:USERNAMEthe URL username of the user (no underscores or spaces)FOLDERSthe folders downloaded for that specific user, sorted and bar-separatedACTIVE1if the user is active,0if notUSERPAGEthe user's profile in HTML or BBCode formatSubmissionsThe submissions' table contains the metadata of the submissions downloaded by the program and information on their filesIDthe id of the submissionAUTHORthe username of the author (uploader) in full formatTITLEDATEupload date in ISO formatYYYY-MM-DDTHH:MMDESCRIPTIONdescription in HTML or BBCode formatFOOTERfooter in HTML or BBCode formatTAGSbar-separated tagsCATEGORYSPECIESGENDERRATINGTYPEimage, text, music, or flashFILEURLa bar-separated list of the remote URLs for the submission filesFILEEXTa bar-separated list of extensions of the downloaded files. Can be empty if the file contained errors and
could not be recognised upon downloadFILESAVEDfile and thumbnail download status as a 3bit flag:xx1if thumbnail was downloaded,xx0if not;x1xif at least one file was validx0xif not;1xxif all given files where valid,0xxif not. Possible values
are0through7(3 bit).FAVORITEa bar-separated list of users that have "faved" the submissionMENTIONSa bar-separated list of users that are mentioned in the submission description as linksFOLDERthe folder of the submission (galleryorscraps)USERUPDATE1if the submission was added as a user update otherwise0JournalsThe journals' table contains the metadata of the journals downloaded by the program.IDthe id of the journalAUTHORthe username of the author (uploader) in full formatTITLEDATEupload date in ISO formatYYYY-MM-DDTHH:MMCONTENTcontent in HTML or BBCode formatHEADERheader in HTML or BBCode formatFOOTERfooter in HTML or BBCode formatMENTIONSa bar-separated list of users that are mentioned in the journal content as linksUSERUPDATE1if the journal was added as a user update otherwise0CommentsThe comments' table contains the metadata of the journals and submissions stored in the database.IDthe id of the commentPARENT_TABLESUBMISSIONSif the comment relates to a submission,JOURNALif the comment relates to a journalPARENT_IDthe id of the parent object (submission or journal)REPLY_TOthe id of the parent comment, if the comment is a replyAUTHORthe username of the author in full formatDATEpost date in ISO formatYYYY-MM-DDTHH:MM:SSTEXTthe text of the commentSettingsThe settings table contains settings for the program and variable used by the database handler and main program.COOKIEScookies for the download program, stored in JSON formatFILESFOLDERlocation of downloaded submission filesVERSIONdatabase versionHistoryThe history table holds events related to the database.TIMEevent time in ISO formatYYYY-MM-DDTHH:MM:SS.ssssssEVENTthe event descriptionSubmission FilesThesave_submissionfunctions saves the submission metadata in the database and stores the files.Submission files are saved in a tiered tree structure based on their submission ID. IDs are zero-padded to 10 digits and
then broken up in 5 segments of 2 digits; each of these segments represents a folder tha will be created in the tree.For example, a submission1457893will be padded to0001457893and divided into00,01,45,78,93. The
submission file will then be saved as00/01/45/78/93/submission.filewith the correct extension extracted from the
file itself (FurAffinity links do not always contain the right extension and sometimes confuse JPEG and PNG).Upgrading DatabaseNote:versions prior to 4.19.0 are not supported by falocalrepo-database version 5.0.0 and above. To update from
those, usefalocalrepo v3.25.0to upgrade the database to version
4.19.0.Note:Versions prior to 2.7.0 are not supported by falocalrepo-database version 3.0.0 and above. To update from those
to the new version usefalocalrepo v2.11.2to upgrade
the database to version 2.7.0