Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update process for docker compose is wrong #3404

Closed
mathemancer opened this issue Jan 22, 2024 · 3 comments
Closed

Update process for docker compose is wrong #3404

mathemancer opened this issue Jan 22, 2024 · 3 comments
Assignees
Labels
ready Ready for implementation type: bug Something isn't working work: documentation Improvements or additions to documentation
Milestone

Comments

@mathemancer
Copy link
Contributor

Description

Currently, the update process for a docker compose installation doesn't work as documented. If you try to upgrade from 0.1.3 to 0.1.4, your installation will cease to recognize its Django database under some (most) cases, causing distress. No data is lost, but manual intervention is required in order to reattach the service to the Django DB. This is because the DJANGO_DATABASE_URL is no longer supported by the new setup.

Expected behavior

Either we need to improve the environment variable handling and deprecate rather than remove DJANGO_DATABASE_URL, or we need to document how a user can update their .env file and docker-compose.yml file to match with the new variables.

I prefer the former solution, on the off chance we have users who have customized their docker compose files and don't want to change them. It's also more well-aligned with the goal of the docker compose installation style (i.e., that the user should customize or write their own docker compose configuration)

To Reproduce

Try to upgrade from 0.1.3 to 0.1.4 with non-default Django DB

Additional context

Discovered while updating the internal.mathesar.org server. Introduced by one of the last merged PRs to the branch before the release was cut (so it went unnoticed).

@mathemancer mathemancer added type: bug Something isn't working needs: triage This issue has not yet been reviewed by a maintainer labels Jan 22, 2024
@mathemancer mathemancer added this to the v0.1.4 milestone Jan 22, 2024
@mathemancer mathemancer added priority: urgent Blocks other ongoing work affects: dx Related to developer experience affects: ux Related to user experience needs: requirements The problem is clear and worth solving, but we're not yet sure of the best solution and removed needs: triage This issue has not yet been reviewed by a maintainer labels Jan 22, 2024
@mathemancer
Copy link
Contributor Author

@kgodey I'm going to go ahead and work on an implementation assuming we want to go with the former solution. It's smoother in the short term, but kicks the can down the road (we'll eventually want to actually remove that environment variable). Thus, I'm also adding the needs: requirements label and assigning to you for a gut-check that my instinct to put off removing that variable makes sense to you from a product perspective.

Point: we avoid adding unneeded burden to upgrading to 0.1.4

Counterpoint: At some stage, users will still have to edit their .env and docker-compose.yml files with the new variables, and we probably have fewer technically-disinclined users than we will at any later stage.

@mathemancer mathemancer self-assigned this Jan 22, 2024
@kgodey
Copy link
Contributor

kgodey commented Jan 22, 2024

We discussed this in the release check-in call today and decided to go with the latter solution i.e. document how a user can update their .env file and docker-compose.yml file to match with the new variables.

Reasoning: keeping the old variable will be a maintainability burden and it's easier to make breaking changes when we have a smaller user base (i.e. now).

@kgodey kgodey added ready Ready for implementation and removed needs: requirements The problem is clear and worth solving, but we're not yet sure of the best solution labels Jan 22, 2024
@seancolsen seancolsen added work: documentation Improvements or additions to documentation and removed priority: urgent Blocks other ongoing work affects: dx Related to developer experience affects: ux Related to user experience labels Jan 24, 2024
@seancolsen
Copy link
Contributor

Addressed in #3227

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready Ready for implementation type: bug Something isn't working work: documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants