uselagoon / lagoon

Lagoon, the developer-focused application delivery platform
https://docs.lagoon.sh/
Apache License 2.0
552 stars 149 forks source link

fix: add DropUnique to rollback ES migration #3652

Closed tobybellwood closed 5 months ago

tobybellwood commented 5 months ago

In #3641 additional tables, fields and indexes were added to show environment<>service connections. In the rollback migration, an index was missed for removal. This PR resolves that. It doesn't need a seperate migration, as it hasn't been released yet, and would only be encountered on a rollback.

This PR also adds a github action test designed to try and catch any rollback/migration errors at the point of initial commit. It shouldn't fire without a migration present.

In the development of this PR, it was discovered that migrations could fail if there were multiple services in the same environment with the same "name". As this name is not descriptive (nor unique), the migration now adds a functionality to remove any duplicate service names. With the advent of the build deploy and remote controller changes, it will become impossible for an environment to have multiple identically named services (as it is a docker compose constraint).

tobybellwood commented 5 months ago

Merging as reviewed and functional tested by @tobybellwood and @shreddedbacon