Skip to content

Database

binmate uses an embedded SQLite database to track installations, versions, downloads, and activity logs. The database is created and migrated automatically the first time binmate runs.

Location

~/.local/share/binmate/user.db

Tables

TableDescription
binariesThe binary definitions known to binmate.
installationsRecords of each installed version on disk.
versionsThe active version reference for each binary.
downloadsA cache of downloaded release assets.
logsActivity logs for operations performed by binmate.

How state is tracked

binmate keeps the filesystem and the database in sync:

  • When a version is installed, the files are extracted to a versioned directory and a row is added to installations.
  • The active version for each binary is recorded in the versions table and reflected on disk via a symlink.
  • Downloads are cached and tracked in the downloads table to avoid re-fetching assets unnecessarily.

Migrations

Schema migrations are versioned and run automatically when binmate connects to the database, so upgrading binmate keeps your existing data intact.

Released under the MIT License.