aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2025-06-08 10:51:32 +0200
committerDaniel Schadt <kingdread@gmx.de>2025-06-08 10:51:32 +0200
commitc187c94e65256156d002931085879b0f9b1f0b99 (patch)
tree35eafee11935da995b7da620ca9846ca7a25409f
parent0e0b63f08e6c5c52df5d12817f78333cca105154 (diff)
downloadfietsboek-c187c94e65256156d002931085879b0f9b1f0b99.tar.gz
fietsboek-c187c94e65256156d002931085879b0f9b1f0b99.tar.bz2
fietsboek-c187c94e65256156d002931085879b0f9b1f0b99.zip
fix migration for old sqlite versions
This should not be an issue on new-ish systems (Debian 12), but if someone is still running Debian 11 (oldstable, bullseye), it is needed.
-rw-r--r--fietsboek/alembic/versions/20250607_2ebe1bf66430.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/fietsboek/alembic/versions/20250607_2ebe1bf66430.py b/fietsboek/alembic/versions/20250607_2ebe1bf66430.py
index 055c3be..d7c811e 100644
--- a/fietsboek/alembic/versions/20250607_2ebe1bf66430.py
+++ b/fietsboek/alembic/versions/20250607_2ebe1bf66430.py
@@ -5,6 +5,8 @@ Revises: 4566843039d6
Create Date: 2025-06-07 23:24:33.182649
"""
+import logging
+
import sqlalchemy as sa
from alembic import op
@@ -20,7 +22,16 @@ def upgrade():
if is_sqlite:
op.add_column('tracks', sa.Column('transformers_text', sa.Text, nullable=True))
op.execute('UPDATE tracks SET transformers_text=transformers;')
- op.drop_column('tracks', 'transformers')
+ try:
+ op.drop_column('tracks', 'transformers')
+ except sa.exc.OperationalError as exc:
+ logging.getLogger(__name__).warning(
+ "Your SQLite version does not support dropping a column. "
+ "We're setting the content to NULL instead: %s",
+ exc,
+ )
+ op.execute("UPDATE tracks SET transformers = NULL;")
+ op.alter_column("tracks", "transformers", new_column_name="transformers_old_delete_this_column")
op.alter_column('tracks', 'transformers_text', new_column_name='transformers')
else:
op.alter_column('tracks', 'transformers', type_=sa.Text)