Upgrading ThingWorx Docker
When upgrading to a newer version of ThingWorx, you have two options for getting new features and enhancements into existing landscapes: in-place upgrades and migrations. For in-place upgrades, usually, you do not need to delete the ThingworxStorage and ThingworxBackupStorage folders or import data and entities after installing ThingWorx. Migration requires more steps, because you must export data and entities to the ThingworxStorage folder and then import those entities and data into the new version of ThingWorx.
* 
See the topic Upgrading ThingWorx for a full compatibility list and more detailed instructions.
Migrating from a Physical Database to a Docker Database
If you choose to migrate from a physical database to a Docker database, refer to the Microsoft SQL Server or PostgreSQL documentation for more information on how to migrate your data. It is also recommended that you follow their best practices guide to get the best performance.
Upgrading Docker
If you are currently using a Docker version and need to upgrade to support a ThingWorx configuration, visit www.docker.com for more information on versions, release notes, and guides for the specific version of Docker.
Doing an In-Place Upgrade
To perform an in-place upgrade to ThingWorx Docker:
1. Follow the steps listed in Setting Up ThingWorx Docker Builds to prepare to build the Docker images.
2. Follow the steps listed in Building ThingWorx Docker Images to build the Docker images.
3. Stop your current ThingWorx instance.
4. Run the database migration scripts, as outlined in the Upgrading ThingWorx section.
5. Configure your Docker Compose file to point to your database, as outlined in Configuring ThingWorx Docker.
6. Start ThingWorx Docker, as outlined in the Starting ThingWorx Docker section of the Using ThingWorx Docker Compose Examples topic.
Doing a Migration Upgrade
To perform a migration upgrade to ThingWorx Docker:
1. Follow the steps listed in Setting Up ThingWorx Docker Builds to prepare to build the Docker images.
2. Follow the steps listed in Building ThingWorx Docker Images to build the Docker images.
3. Export your data and entities:
a. In your current ThingWorx Instance, select Import/Export > Export in ThingWorx Composer.
b. From the Export Option list, select To Thingworx Storage.
c. If necessary, click Include data.
d. Click Export.
Your data and entities are exported to ThingworxStorage/exports.
4. Copy the data and entity export files and move them to a safe location.
5. Note any extensions that are in use.
These are located in ThingworxStorage/extensions.
6. Rename the existing license file located in the ThingworxPlatform folder.
This file can be either license.bin, license_capability_response.bin, or successful_capability_response.bin, depending on your current version.
7. Verify that your PTC Support site user name, password, and timeout (optional) are added to the platform-settings.json file in the PlatformSettingsConfig section:
"LicensingConnectionSettings":{
"username":"PTC Support site user name",
"password":"PTC Support site password",
“timeout”:”60”
}
If these settings are incorrect, or if the server cannot connect, a license request text file named licenseRequestFile.txt is created in the ThingworxPlatform folder. In this case, a license must be created manually. If it is not created, ThingWorx starts in limited mode. In limited mode, you cannot persist licensed entities to the database. Licensed entities are things, mashups, masters, gadgets, users, and persistence providers.
Refer to Installing ThingWorx for more information on getting a disconnected site license through the PTC Support site.
* 
If you have any questions or need assistance with generating a license when setting up the manual disconnected mode of licensing, open a case with PTC Technical Support.
8. Stop your current ThingWorx instance.
9. If you are using a Microsoft SQL Server or a PostgreSQL, run the database migration scripts, as outlined in the Upgrading ThingWorx section.
10. Configure your Docker Compose file to point to your database, as outlined in Configuring ThingWorx Docker.
11. Start ThingWorx Docker, as outlined in the Starting ThingWorx Docker section of the Using ThingWorx Docker Compose Examples topic.
12. Move the exports files back to the ThingworxStorage/exports folder.
13. Log in to ThingWorx Platform.
14. Import extensions by choosing Import/Export > Import in ThingWorx Composer.
* 
Be sure to import the latest versions of the extensions. If you are upgrading to a major version (for example, from 7.x to 8.0), you must import the 8.x versions of the extensions. Extensions are available on the PTC Support site.
If you are importing from ThingWorx storage, select the Overwrite collection permissions and organizations option to overwrite the settings on the server with the collection permissions and organizations in the import. If this option is not selected, the collection permissions and organizations from the import are merged with those that are already defined on the server, by default.
15. Import your data and entities by choosing Import/Export > Import in ThingWorx Composer. Then select From Thingworx Storage from the Import Option list.
Was this helpful?