From 2fcbee5057fae80aad4bf6f1938cfaf35165a999 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Fri, 24 Jul 2026 11:55:46 +0200 Subject: [PATCH] Termix: migrate database to new db/data layout introduced in 2.5.1 (#15996) Migrate Termix database to the new db/data layout introduced in 2.5.1, fail fast on backend build errors, and precreate the db/data directory on fresh installs. Co-authored-by: P3RF3CTION <13474113+P3RF3CTION@users.noreply.github.com> --- ct/termix.sh | 13 ++++++++++++- install/termix-install.sh | 3 ++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ct/termix.sh b/ct/termix.sh index dbcb768b8..74d3bb6c6 100644 --- a/ct/termix.sh +++ b/ct/termix.sh @@ -154,9 +154,16 @@ EOF /opt/termix/nginx \ /opt/termix/nginx/logs \ /opt/termix/nginx/cache \ - /opt/termix/nginx/client_body + /opt/termix/nginx/client_body \ + /opt/termix/db/data msg_ok "Recreated Directories" + if [[ -f /opt/termix/data/db.sqlite.encrypted && ! -f /opt/termix/db/data/db.sqlite.encrypted ]]; then + msg_info "Migrating Database to new layout" + cp -a /opt/termix/data/db.sqlite.encrypted /opt/termix/db/data/db.sqlite.encrypted + msg_ok "Migrated Database to new layout" + fi + msg_info "Building Frontend" cd /opt/termix export COREPACK_ENABLE_DOWNLOAD_PROMPT=0 @@ -168,6 +175,10 @@ EOF msg_info "Building Backend" $STD npm rebuild better-sqlite3 --force $STD npm run build:backend + if [[ ! -f /opt/termix/dist/backend/backend/starter.js ]]; then + msg_error "Backend build failed: /opt/termix/dist/backend/backend/starter.js was not created" + exit 1 + fi msg_ok "Built Backend" msg_info "Setting up Production Dependencies" diff --git a/install/termix-install.sh b/install/termix-install.sh index 1f9d70f69..bd28f3b38 100644 --- a/install/termix-install.sh +++ b/install/termix-install.sh @@ -85,7 +85,8 @@ mkdir -p /opt/termix/data \ /opt/termix/nginx \ /opt/termix/nginx/logs \ /opt/termix/nginx/cache \ - /opt/termix/nginx/client_body + /opt/termix/nginx/client_body \ + /opt/termix/db/data cp -r /opt/termix/dist/* /opt/termix/html/ 2>/dev/null || true cp -r /opt/termix/src/locales /opt/termix/html/locales 2>/dev/null || true