meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
updates [2023/10/24 16:20] andrewmalsburyupdates [2026/08/30 20:46] (current) – cli updater now runs all updates at once, db updates also run at once in web wrongecho
Line 1: Line 1:
 ====== Updates ====== ====== Updates ======
  
-  * It's important to take regular (e.g. nightly) backups of your ITFlow instance, especially before updating +{{::update-warning.png}}
-  * **Keep your ITFlow instance updated** with the latest features and security patches.  +
-  * Updates will contain changes to both the filesystem and the database schema. +
-  * The updater can be accessed via **Settings > Update**+
  
-===== Files =====+  * New features, bug fixes and security patches are released roughly once a month - it's important to stay up-to-date 
 +  * It's also important to take regular (e.g. nightly) backups of your ITFlow instance; **you should not attempt to run updates without a current backup** (e.g. VM snapshot) 
 +  * Always look over the changelog before running updates to check for breaking changes 
 +  * Updates are a two part process: 
 +    * Download the updated files 
 +    * Apply any required database migrations
  
-The majority of ITFlow updates are just changes to the PHP files. The update tab will show the latest [[https://github.com/itflow-org/itflow/commits/master|git commits]] and offer to download them for you. In the background, this is just running ''git pull''+===== Web Interface ===== 
 +  - Login to ITFlow as an admin 
 +  - Navigate to Admin Settings > Update 
 +  - If any updates are available, you will see the git commit details 
 +  - Select **Update App** (this downloads the latest app files) 
 +  - If promptedalso select **Update database** (you may have to do this several times)
  
-If you've edited any files, the auto-updater will fail - navigate to your web directory and run git pull to review and resolve the issue.+===== CLI ===== 
 +  Connect to your server via SSH as a user with root privileges 
 +  - Navigiate to the ITFlow scripts directory (usually ''/var/www/itflow.yourdomain.com/scripts''
 +  - The script will update the app files and database together, run: ''sudo -u www-data php update_cli.php''
  
-{{updates_git_pull.png?direct|}}+----
  
-===== Database ===== 
  
-After pulling down the latest files, the update page will then show if the latest database version has increased. If it has, it will offer to run the commands in //database_updates.php// to update the database.+===== Additional notes ===== 
 +  * It is crucial that you run the database updater as soon as possible after downloading the latest app files. Otherwiseyou will begin seeing database-related issues in your error log.
  
-If you have updated your files and the database is showing it needs an update, it is crucial that you run the database updater as soon as possible. +  * If you run into any issues running multiple database updates, you should try running the database updates via the CLI. Some updates alter files in your PHP session, which might only be set during login. This is usually mentioned in the breaking changes.
- +
-If you do not update the database after updating the files, you will start seeing database-related errors +
-  e.g. ''PHP Fatal error:  Uncaught TypeError: mysqli_fetch_array(): Argument #1 ($result) must be of type mysqli_result, bool given in /var/www/html/''.  +
- +
-  * What this error is saying is that PHP failed to correctly pull data from the database. The query returned boolean false rather than a dataset. This would be due to something not matching (table/column names may have been added/changed). +
- +
-  * If you are ever unable to login to due not updating the database, you can manually apply the relevant SQL changes in //database_updates.php// at the CLI / using phpMyAdmin. +
- +
- +
-//Additional note: If you run into any issues running multiple database updates, it may be worth signing out and back in again between updates. Some updates alter files in your PHP session, which might only be set during login.// +
- +
-{{:updates_database.png?direct|}}+