An Ignition gateway with an internal database that was created in a version of Ignition previous to 7.5.0 will have problems when upgraded directly to a version with the new internal storage system (introduced in 7.7.7, and 7.8.2). This is due to the addition of the Path column in the primary key of some tables since version 7.5.0.
The most likely problem that will arise is an error encountered when modifying tags, particularly when performing multiple overrides within a UDT instance. Depending on which overrides are created, the table mentioned in the error may differ, but it will look similar to this:
Option 1: upgrade to an intermediate version first.
This option involves restoring a gateway backup created in a version previous to 7.5.0 to a gateway running on a version of Ignition between 7.5.0 and 7.7.7. For this example, we will use version 7.7.5.
Please note that this option will only work for those who have an older gateway backup that they can restore from. Projects and tags from your current gateway can be backed up separately and imported again once the recent version has been reinstalled.
- Export any project or global resources that you will need to save.
Uninstall Ignition, and install Ignition version 7.7.5.
Restore from a gateway backup created pre-7.5.0.
- Upgrade to Ignition version 7.7.5. This will automatically update the internal database.
- It is now safe to upgrade to the most recent versions of Ignition.
Option 2: Manually alter the internal database
This option involves editing the internal database using a text editor. To do this, you will need to use sqlite3.exe to export and re-import the database.
- Download sqlite3.exe (part of SQLite Tools found here: https://www.sqlite.org/download.html).
- Stop the Ignition gateway and locate the file called config.idb in the Ignition > data > db and rename it to config.db.
- Run sqlite3.exe and execute the following commands being sure to use forward slashes in the file path:
- Make a copy of out.sql and edit it in a text editor to add PATH to the primary key for certain tables, as shown in the example below. The following tables need to be changed: SQLTAGPROP, ALERTSTATE, and TAGPERMISSIONRECORD
- Import this edited sql file into a new SQLite database like in the following example:
- Step 5: Rename your new SQLite database to config.idb and move it to Ignition > data > db.
- Start the Ignition gateway.