Skip to content

How to Upgrade

david edited this page Sep 19, 2026 · 4 revisions

How to Upgrade

Inventorinator is experimental. Keep a usable backup until you have verified the new version. Do not uninstall the existing app or delete its data first.

Safe upgrade order

  1. In Inventorinator, open Local database and select Export. Save the .sqlite3 file somewhere outside the application folder.
  2. If you use Remote Sync, also back up the Supabase PostgreSQL database.
  3. Update the Supabase schema before opening the newer app on any paired device.
  4. Install the newer app over, or alongside, the existing program files as described below.
  5. Open Inventorinator and verify inventory counts, locations, kits/builds, images, and Remote Sync before removing either backup.

The local SQLite database is stored in the operating system's application-data directory, separately from the Linux or Windows program files. Replacing the program files should preserve it, but the export is the recovery copy if an upgrade or platform installer behaves unexpectedly.

Update Remote Sync

Use the section matching the app release you are installing. Never replace an older release's migrations with files from main, and never downgrade an existing database in place.

v0.1.0-alpha

For v0.1.0-alpha, use the corrected schema bundle attached to the release:

curl -fLO \
  https://github.com/DavidThePurple/Inventorinator/releases/download/v0.1.0-alpha/Inventorinator-v0.1.0-alpha-Supabase-schema15.tar.gz
tar -xzf Inventorinator-v0.1.0-alpha-Supabase-schema15.tar.gz
cd Inventorinator-v0.1.0-alpha-Supabase-schema15
./install-or-update.sh

The installer applies only missing migrations and keeps existing records. Do not run migrations from main against an installed release. For later versions, use the schema bundle attached to that release.

For v0.1.0-alpha, success must end with:

Inventorinator schema v15 is ready.

Self-hosted connector users can instead replace the connector and migrations with the files from this bundle, rebuild the connector, and verify the same schema message. Schema 13 preserves legacy locations, schema 14 repairs authenticated entity reads, and schema 15 prevents obsolete whole-snapshot clients from overwriting newer per-record changes. See Supabase Sync Setup for details.

Upcoming v0.1.1-alpha.2 / schema 30

The current development build requires schema 30 for shared import undo. It has not been released. Use Server Update v30 with the complete matching CI server artifact when testing; published downloads remain unchanged.

Earlier v0.1.1-alpha.2 / schema 28 instructions

For v0.1.1-alpha.2, install the matching Supabase schema bundle before opening the updated app on any paired device. Replace the extracted server bundle as a complete unit, including its migrations/, updater, and connector. Then run:

./apply-migrations.sh

Success must end with:

Inventorinator schema v28 is ready.

See Server Update v28 for the backup, update, and Scratch Pad sharing verification steps. Do not move individual SQL files or merge an update into an older extracted bundle.

v0.0.9-alpha (legacy)

v0.0.9-alpha uses its original schema 7 connector and whole-snapshot sync. Keep this path only for an installation intentionally remaining on v0.0.9:

curl -fLO \
  https://github.com/DavidThePurple/Inventorinator/archive/refs/tags/v0.0.9-alpha.tar.gz
tar -xzf v0.0.9-alpha.tar.gz
cd Inventorinator-0.0.9-alpha/supabase
sh apply-migrations.sh

For a self-hosted connector, deploy the connector, migrations, and Compose files from that same extracted directory. Do not use the v0.1 schema bundle with a v0.0.9 client: schema 15 intentionally rejects its obsolete snapshot writes. If a server has already been upgraded, restore a matching backup to a separate server rather than attempting to downgrade it.

Linux

  1. Close Inventorinator.
  2. Download and verify the new Linux .tar.gz and its SHA-256 checksum.
  3. Extract it to a fresh temporary folder; do not merge it into an old extracted bundle.
  4. Run ./install.sh from the new folder. It replaces the per-user program files and keeps the application-data directory.
  5. Launch Inventorinator from the application menu and complete the checks below.

The installer normally needs no administrator or root access.

Windows

  1. Close Inventorinator.
  2. Download and verify the new Windows .zip and its SHA-256 checksum.
  3. Extract the complete archive to a new folder. Do not copy only the .exe or merge new runtime files into an old folder.
  4. Run Inventorinator from the new folder and complete the checks below.

The current Windows build is unsigned, so SmartScreen may warn about it.

Android

  1. Export the local database and close Inventorinator.
  2. Download the appropriate APK. arm64-v8a is the normal choice for current Android phones and tablets; use the universal APK only when needed.
  3. Install the newer APK over the installed copy. Do not uninstall first, because uninstalling can remove the device's local database and settings.
  4. Open Inventorinator and complete the checks below.

Android will only install an update over the existing app when the package ID and signing key match. If Android reports a signature conflict, stop and keep the installed copy until your database export is safely stored.

Verify after upgrading

  • The app opens without asking you to create a replacement inventory.
  • Total records and a few known item quantities match the pre-upgrade state.
  • Locations, kits, builds, product images, and personalization settings remain.
  • An item can be edited, closed, and reopened without losing the change.
  • Remote Sync connects without a schema warning and a small test edit reaches one paired device without replacing unrelated records.

Do not assume an older app can read data written by a newer app or server schema. To downgrade, restore the matching backup instead of installing an old binary over newer data.

Clone this wiki locally