Skip to content

Library Database Layout

Jason C. McDonald edited this page Feb 5, 2018 · 1 revision

Overview

Elements will organize files by maintaining several tables within a single SQLite database.

tracks

This will track the paths to the individual files.

  • id is the unique DB track identifier.
  • path is the FQFN to the track.
  • time_start is the point that this track instance is supposed to start.
  • time_end is the point that this track instance is supposed to end.

tag_fields

This tracks bindings between table fields and ID3 tags. It will use a simple notation format:

  • id3_ is prefixed when it will use an ID3 tag of the given name (e.g. id3_artist).
  • elmts_ is prefixed when it will use an Elements field.

NOTE: id3_ tags are stored on the file, never in the database.

mood_tags

This lists all the Mood tags in Elements.

activity_tags

This lists all the Activity tags in Elements.

inspiration_tags

This lists all the Inspiration (project) tags in Elements.

elements_fields

This lists all of the other internally stored (elmts_) tags (by column) and their track values (by row).

  • track_id: the ID from tracks.
  • mood: a list of all mood_tags on the track.
  • activity: a list of all activity_tags on the track.
  • inspiration: a list of all inspiration_tags on the track.
  • ...add a column for each other internal tag.