Upgrading

22 views
Skip to first unread message

Chris Byrd

unread,
Jul 26, 2026, 2:35:49 PM (yesterday) Jul 26
to Open Source CAD
Screenshot 2026-07-26 133354.pngAfter I download the .zip file and unzip it in my newui folder I notice that the website login page still shows v4.02.

I also get this message about stale code.

Chris

Chris Byrd

unread,
Jul 26, 2026, 3:05:04 PM (yesterday) Jul 26
to Open Source CAD
This is the error when I try and do a git pull

Screenshot 2026-07-26 140400.png

Eric Osterberg

unread,
Jul 26, 2026, 4:56:15 PM (yesterday) Jul 26
to open-so...@googlegroups.com
First email: We didn't mint a new version number for the simple changes that git can handle easily.

Second email... Because you didn't install with git or the git video was confusing, or the process to use git wasn't followed.
The error message literally says, this is not a git repository.

EVERYONE SHOULD USE GIT, It's easier. 
Stone tablets, CD ROM's, DVDs, Cassette Tapes, Palm Pilots, Apple Newtons and zip files are all out of date.

PS: First email from 2 hours ago. the screenshot is too small for me to see. This email isn't from this thread, so I'd need to go searching for context. I'm assuming...  
PPS: Last night version 4.1.0 was released...

Second email:
PS:  Last night version 4.1.0 was released... (Super easy to update to the latest using git)

PPS: YouTube videos on using git where shared previously. See: 

Update instructions were in the announcement email from about 15 hours ago.


If anyone is able to help, please do. I will burn out easily if the mailing list becomes only a conduit to reach me for support. It's a community mailing list, and open source communities need people who support each other. If you don't contribute to the 'community,' you become a 'USER' and Open Source dies its slow painful death.

My apologies, but I will need to take tonight off from support...

 -Eric

--
You received this message because you are subscribed to the Google Groups "Open Source CAD" group.
To unsubscribe from this group and stop receiving emails from it, send an email to open-source-c...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/open-source-cad/fc3c1013-205d-4f1a-91e3-366f12ed61a7n%40googlegroups.com.

mike

unread,
Jul 26, 2026, 8:17:08 PM (yesterday) Jul 26
to open-so...@googlegroups.com
if "users" are not comfortable using command line to update there is a github desktop both for windows and mac os, not sure for linux distros. which cuts out the command line and i use and works well for me. the video's Eric has put up well enough to understand. if you don't have the experience using the tools to get things up and running you have to play around with them and ask the community for help to get you going in the right direction and not everyone is going to give you a step by step how to and just give you a nudge where to look and fix on your own, as most on here has been using tickets for a while. so I suggest the GitHub desktop if your not use to the command line for updating. version4 GitHub is = https://github.com/openises/TicketsCAD.git.


mike

unread,
Jul 26, 2026, 8:20:03 PM (yesterday) Jul 26
to open-so...@googlegroups.com

Here's the step-by-step for git pull:

1. Make sure you're in the right folder

cd path/to/your/project

This has to be a folder that's already a git repository (has a .git folder inside it — usually because you cloned it with git clone at some point).

2. Check what state your local copy is in first

git status

If this shows uncommitted changes, deal with them before pulling (see step 5) — pulling on top of a messy working directory is the #1 cause of confusing conflicts.

3. Run the pull

git pull

This does two things in one step: git fetch (download what's new on the remote) followed by git merge (combine it into your current branch). If you just want to see what's new without merging yet, run git fetch alone first and look at it with git log HEAD..origin/main.

4. Read the output

  • "Already up to date." — nothing new, you're done.
  • "Fast-forward" — your local branch just moved forward to match the remote. Clean, no conflicts, nothing to do.
  • A merge commit message editor pops up — your local branch had its own commits too, so git merged the histories. Just save and close the editor (or run git pull --no-edit next time to skip that prompt).
  • "CONFLICT" — the same lines were changed both locally and remotely. See step 6.

5. If you have uncommitted local changes and want to pull anyway

git stash        # temporarily shelves your changes
git pull
git stash pop     # brings your changes back on top

6. If you get a merge conflict Git will mark the conflicting file(s) with <<<<<<<, =======, >>>>>>> blocks. Open each one, edit it down to what it should actually say, then:

git add <the file you fixed>
git commit

A couple of useful variations:

git pull origin main          # explicitly pull the main branch from the "origin" remote
git pull --rebase              # replay your local commits on top of the remote instead of merging (keeps history linear)

If this is for the radio-to-cad project or the TicketsCAD repo specifically, happy to walk through the exact commands for that case.

Ronald Jones

unread,
Jul 26, 2026, 8:56:27 PM (yesterday) Jul 26
to Open Source CAD

(Corrections Appreciated)

Here's a step-by-step for GitHub Desktop instead — no terminal needed:

1. Open GitHub Desktop and select the repository
If it's already listed on the left sidebar under "Current repository," click it. If not, add it first: File → Add Local Repository (if it's already on their computer) or File → Clone Repository (if they need to get it for the first time).

2. Check for uncommitted changes
Look at the Changes tab (left panel). If files are listed there, they have local edits. Best to commit those first:

  • Type a short summary in the box at the bottom left
  • Click Commit to [branch name]

If they'd rather not commit yet, they can stash instead via Branch → Stash all changes (Mac) or the equivalent under the Branch menu on Windows.

3. Make sure they're on the right branch
The current branch name shows at the top of the window. Click it to switch branches if needed — pulling only updates whatever branch is currently checked out.

4. Pull the latest changes
Look at the top bar — there's a button that says either:

  • Fetch origin (if it's not sure yet whether anything's changed), or
  • Pull origin with a number badge (if it already knows there are new commits waiting)

Click it. GitHub Desktop fetches and merges in one click — same result as git pull in the terminal.

5. Handle a merge conflict, if one comes up
GitHub Desktop will show a banner listing the conflicting files. For each one:

  • Click Open in [their editor] (or open it manually)
  • Look for <<<<<<< / ======= / >>>>>>> markers, decide what to keep, delete the markers
  • Back in GitHub Desktop, check the box next to that file once resolved
  • Click Continue Merge (or Commit merge) once all conflicts are checked off

6. Confirm it worked
Click the History tab (next to Changes) — the newest commits from the remote should now appear at the top of the list.

One thing worth pointing out to whoever you're guiding: the Fetch origin button turning into Pull origin (n) is how GitHub Desktop signals "there's something new" — so if they're ever unsure whether they're up to date, that button is the tell.

— pulling code with GitHub Desktop never touches the database. It only updates files on disk. If the new commits expect a table or column that doesn't exist yet, the app will just start throwing errors the moment it runs.

General safe order of operations, regardless of project:

  1. Back up the database before pulling anything
  2. Check the changelog/release notes for the commits you're about to pull — look for words like "migration," "schema," or "run this after upgrading"
  3. Pull the code
  4. Apply whatever database change process the project uses
  5. Restart the app/service if it's long-running
specific to your actual TicketsCAD setup, since you've got both versions — they handle this very differently, and neither is something GitHub Desktop does for you:

v3 (classic): it's a web-based upgrade. After pulling, you preserve your incs/mysql.inc.php config and uploads//_tile_cache/folders, then visit http://your-server/tickets/install.php in a browser and select Upgrade mode → Do It. The installer itself detects when your database version doesn't match the code version and prompts you.

v4 (NewUI): this one's actually built for exactly your situation. There's a CLI migration runner:

bash
php sql/run_migrations.php --list # preview what's pending, changes nothing php sql/run_migrations.php # apply pending migrations

It's idempotent (tracks what's already applied via a hash in a _migrations table) and halts on the first failure rather than leaving things half-applied. There's also a read-only admin dashboard (Settings → Migrations, super-admin only) that flags pending migrations after you pull new code — but it deliberately has no Run button, since triggering schema changes from a web request is its own security risk. It exists to tell you something needs running, not to run it. So you'll still need terminal/SSH access to the server itself for that step — GitHub Desktop gets the code there, but someone still has to run that command by hand.

**One habit worth building into your process either way: don't pull v4 and restart the app before running migrations — if the new code expects a column that isn't there yet, you'll get errors between those two steps**

**the only part that will need a command line**

(newui is the database name; --single-transaction gets a consistent snapshot without locking the table while people are using it.) There's also an in-app option — Settings → System → Backup → Backup now — as a quicker ad-hoc snapshot before this kind of change.

2. Get a terminal on the actual server
This is the part GitHub Desktop can't do — you need SSH access (PuTTY, Windows Terminal, macOS's Terminal.app, whatever you normally use to reach the box).

3a. If it's a traditional (non-Docker) install:

bash
cd /var/www/newui # or wherever it's actually deployed php sql/run_migrations.php --list # preview only, changes nothing php sql/run_migrations.php # actually applies them

3b. If it's the Docker setup:

bash
docker compose exec app php sql/run_migrations.php --list docker compose exec app php sql/run_migrations.php

(app is the service name in the compose file — db is the database container, don't run it there.)

4. Read the output
It prints a summary — how many migrations were already applied vs. pending, then runs each pending one in order, and it's idempotent (safe to run more than once; it hashes each script and skips ones already applied). If something fails partway through, it halts immediately rather than continuing on a half-migrated schema — fix whatever the error says, then just run the same command again; everything before the failure point gets skipped since it's already recorded.

One nice thing this particular runner does: it doesn't just trust its own bookkeeping. Before running, it double-checks the actual database against what the code expects, and if something's missing — say a table got dropped during a crash or a restore from an older backup — it'll notice the mismatch and self-correct even if its tracking table claims everything's already applied.

5. Restart the app afterward if it's a long-running process (Docker: docker compose restart app), so nothing's holding old schema assumptions in memory.

Chris Byrd

unread,
Jul 26, 2026, 10:34:01 PM (yesterday) Jul 26
to Open Source CAD
I understand I should use git.   I installed it but I am not sure how to get my current configuration converted to git without losing my settings, etc.  

I installed the version of Git you recommended on your video.

Do I just do a git pull on it in the current newui directory ?

Thanks
Chris

Eric Osterberg

unread,
Jul 26, 2026, 11:05:47 PM (yesterday) Jul 26
to open-so...@googlegroups.com

Eric Osterberg

unread,
Jul 26, 2026, 11:07:33 PM (yesterday) Jul 26
to open-so...@googlegroups.com
git init
git remote add origin https://github.com/openises/TicketsCAD.git
git fetch origin
git checkout -f -B main origin/main

Gerald Hurt

unread,
Jul 26, 2026, 11:34:10 PM (24 hours ago) Jul 26
to Open Source CAD
Assuming you are using the instructions to create a virtual host and the newui directory, here is how I changed from a ZIP install to a git install:

1) As my normal user (in my case 'jay') in my home directory I do a git clone:


2) Use sudo to change ownership of the repository:

sudo chown -R www-data:www-data newui

3) Copy the following directories into the directory serving TicketsCAD (in my case I am using Apache and have set up the TicketsCAD virtual host)

cd newui
sudo cp -R .git /var/www/newui

4) Change to the www-data user and do a git pull:

sudo -u www-data bash
cd /var/www/newui
git pull

5) Run the migration script and exit from the www-data shell:

php sql/run_migrations.php
exit


From this point forward you can now do steps 4 and 5 to pull from the git repository.

Jay

Chris Byrd

unread,
Jul 26, 2026, 11:56:23 PM (23 hours ago) Jul 26
to Open Source CAD
Thanks for the help.   I have got git installed and somewhat updated.   I did get a database error.   I did open a git issue.

Thanks
Chris

Warning: Module "openssl" is already loaded in Unknown on line 0
  SCHEMA IS BEHIND THE CODE

  Your data is intact. The database STRUCTURE is missing things this
  version of TicketsCAD writes to, so the affected screens will fail to
  save until it is brought up to date.

    missing on `facilities`:  deleted_at, deleted_by
    missing on `responder`:  deleted_at, deleted_by
    missing on `ticket`:  deleted_at, deleted_by

  To fix this, run:

      php tools/check-schema.php --repair

  That re-applies the schema migrations. They are idempotent and do not
  delete data. Take a backup first if you want to be certain:

      php tools/backup_run.php


STILL BEHIND after re-applying the migrations.

That means a migration does not cover one of the columns listed above —
a real gap in TicketsCAD, not something you did wrong. Please open an
issue with the output above:
    https://github.com/openises/TicketsCAD/issues

Reply all
Reply to author
Forward
0 new messages