f129bc0ac4
# Introduction This PR refactors the way we previously manually handled the upgrade command `versionTo` and `versionFrom` values to be replaced by a programmatic inferring using the `APP_VERSION` env variable. It raises new invariant edge cases that are covered by new tests and so on Please keep in mind that an upgrade will run agnostically of any `patch` semver value as it should be done only when releasing a `major/minor` version update [Related discord thread](https://discord.com/channels/1130383047699738754/1368953221921505280) ## Testing in local In order to test in local we have to define an `APP_VERSION` value in `packages/twenty-server/.env` following semver ( or not 🙃 ) ## Logs example ```ts Computing new Datasource for cacheKey: 20202020-1c25-4d02-bf25-6aeccf7ea419-8 out of 0 query: SELECT * FROM current_schema() query: SELECT version(); [Nest] 37872 - 05/06/2025, 4:07:21 PM LOG [UpgradeCommand] Initialized upgrade context with: - currentVersion (migrating to): 0.53.0 - fromWorkspaceVersion: 0.52.0 - 2 commands [Nest] 37872 - 05/06/2025, 4:07:21 PM LOG [UpgradeCommand] Upgrading workspace 20202020-1c25-4d02-bf25-6aeccf7ea419 from=0.52.0 to=0.53.0 1/2 [Nest] 37872 - 05/06/2025, 4:07:21 PM LOG [UpgradeCommand] Upgrade for workspace 20202020-1c25-4d02-bf25-6aeccf7ea419 ignored as is already at a higher version. [Nest] 37872 - 05/06/2025, 4:07:21 PM LOG [UpgradeCommand] Running command on workspace 3b8e6458-5fc1-4e63-8563-008ccddaa6db 2/2 Computing new Datasource for cacheKey: 3b8e6458-5fc1-4e63-8563-008ccddaa6db-8 out of 0 query: SELECT * FROM current_schema() query: SELECT version(); [Nest] 37872 - 05/06/2025, 4:07:21 PM LOG [UpgradeCommand] Upgrading workspace 3b8e6458-5fc1-4e63-8563-008ccddaa6db from=0.52.0 to=0.53.0 2/2 [Nest] 37872 - 05/06/2025, 4:07:21 PM LOG [UpgradeCommand] Upgrade for workspace 3b8e6458-5fc1-4e63-8563-008ccddaa6db ignored as is already at a higher version. [Nest] 37872 - 05/06/2025, 4:07:21 PM LOG [UpgradeCommand] Command completed! ``` ## Misc Related to https://github.com/twentyhq/twenty/issues/11780