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

Fix alerts.0028 migration for SQLite #2680

Merged
merged 3 commits into from
Jul 28, 2023

Conversation

vstpme
Copy link
Member

@vstpme vstpme commented Jul 28, 2023

What this PR does

Fixes an issue with alerts.0028 migration failing on SQLite with the following error: sqlite3.OperationalError: near "DROP": syntax error.

The issue is fixed by updating the SQLite version from 3.27.2 to 3.40.1 (SQLite 3.35.0 introduced native support for dropping columns as per this SO answer).

However, I couldn't find an easy way to independently update SQLite, since it's bundled into Python's standard library.
Updating the Docker image to use the latest Debian stable release fixes the issue as it already comes with SQLite 3.40.1 out of the box. So this PR effectively bumps the Debian version from 10 to 12, and bumps the Python version from 3.11.3 to 3.11.4.

Checklist

  • Unit, integration, and e2e (if applicable) tests updated
  • Documentation added (or pr:no public docs PR label added if not required)
  • CHANGELOG.md updated (or pr:no changelog PR label added if not required)

@vstpme vstpme added pr:no changelog pr:no public docs Added to a PR that does not require public documentation updates labels Jul 28, 2023
@vstpme vstpme marked this pull request as ready for review July 28, 2023 16:53
@vstpme vstpme requested a review from a team July 28, 2023 16:53
@@ -10,7 +10,7 @@ RUN apt-get update && apt-get install -y \
gcc \
libmariadb-dev \
libpq-dev \
netcat \
netcat-traditional \
Copy link
Member Author

@vstpme vstpme Jul 28, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For Debian 12, it's required to specify netcat-traditional vs netcat-openbsd explicitly. Previously we used netcat-traditional, so leaving it as is.

@vstpme vstpme added this pull request to the merge queue Jul 28, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jul 28, 2023
@vstpme vstpme merged commit 97757f5 into dev Jul 28, 2023
@vstpme vstpme deleted the vadimkerr/fix-sqlite-migration-drop-column branch July 28, 2023 17:29
vstpme added a commit that referenced this pull request Jul 28, 2023
# What this PR does

Fixes an issue with
[alerts.0028](https://github.com/grafana/oncall/blob/f77a54b518ab8f1f42e33ca43328b75fde1903b9/engine/apps/alerts/migrations/0028_drop_alertreceivechannel_restricted_at.py)
migration failing on SQLite with the following error:
`sqlite3.OperationalError: near "DROP": syntax error`.

The issue is fixed by updating the SQLite version from `3.27.2` to
`3.40.1` (SQLite `3.35.0` introduced native support for dropping columns
as per this [SO answer](https://stackoverflow.com/a/66399224)).

However, I couldn't find an easy way to independently update SQLite,
since it's bundled into Python's standard library.
Updating the Docker image to use the latest Debian stable release fixes
the issue as it already comes with SQLite `3.40.1` out of the box. So
this PR effectively bumps the Debian version from 10 to 12, and bumps
the Python version from `3.11.3` to `3.11.4`.

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)
vstpme added a commit that referenced this pull request Aug 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr:no public docs Added to a PR that does not require public documentation updates
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants