Upgrade path from v1.0.0

Hi Folks,

We have following setup in production:

Temporal Version 1.0.0
MySQL 5.7 (AWS Aurora)
Not using Cassandra and/or Elastic Search
Temporal Server, Worker and Web are running as ECS Service in AWS.

I am looking for some help in upgrading my temporal setup (production). From whatever I have learnt from the community, my upgrade path looks like:

1.0.0 → 1.1.0 → 1.2.0 → 1.3.0 → 1.4.0 → and so on until → 1.9.0

I understand that I need to follow below steps for each environment. Of course, to try it out, I first need a Staging environment:

  1. export CURRENT_VERSION=1.0.0
    export NEXT_VERSION=1.1.0

  2. Start downtime

  3. Stop Temporal Server and Web AWS ECS Services that’s running currently.

  4. Run the temporal-sql-tool using docker image temporalio/admin-tools:${NEXT_VERSION} to upgrade my default and visibility schema.

  5. Run the temporalio/server:${NEXT_VERSION} and temporalio/web:${NEXT_VERSION} docker images as a service in AWS.

  6. Validate if all looks good. (sounds painful as we have a lot of different workflows)

  7. Repeat steps 1…6 until you reach 1.9.0 (or the latest at the time of executing)


  1. Is my upgrade path understanding correct?

  2. If the above understanding is correct, this looks like a real painful process. Are there any plans to make this less painful?

  3. In one of the threads, I found a suggestion that 1.0.0 can directly be upgraded to 1.3.0. If I read it correctly, then why’s that so? I can see that v1.1.0 does have some schema changes.

  4. Our worker and workflow code is all bundled within a single docker image. The docker entrypoint command finds all Temporal workflows and activities and registers them with the worker using java sdk. How does this upgrade impact my worker setup?

1 Like

I also have this question; I am a bit more ahead on v1.3.1; on EKS w/ Aurora MySQL.

Looking at the Releases, I saw the below having “Schema Changes”
1.1.0 → 1.5.0 → 1.7.0 → 1.9.0

So maybe your step will be like:
Check out v1.1.0 tool to migrate the DB; run v1.1.0 server
Check out v1.5.0 tool to migrate the DB; run v1.5.0 server
Check out v1.7.0 tool to migrate the DB; run v1.7.0 server
Check out v1.9.0 tool to migrate the DB; run v1.9.0 server

try 1.0.x → 1.3.x → 1.4.x → 1.5.x → 1.6.x → 1.7.x → 1.8.x → 1.9.x

usually we only guarantee 1.n.x → 1.n+1.x forward / backward compatibility

you do not need to shutdown Temporal server.

  • checkout the version of DB schema associated with corresponding server version
  • upgrade DB schema version
  • upgrade Temporal version
  • loop

I can see that v1.1.0 does have some db schema changes. How are we able to skip 1.1.x and directly move to 1.3.x?