vinindkoeb/migrations
carsten 2f52d2c846 Ret alembic-crash når DATABASE_URL indeholder et bogstaveligt "%"
migrations/env.py brugte config.set_main_option() til at dele
databasens URL med alembic.ini — det kalder internt Pythons
configparser.set(), som fortolker "%" som sin egen
interpolations-syntaks og fejler på ethvert kodeord der indeholder
et procenttegn (fx fra en almindelig password-generator, eller
percent-encoded specialtegn i en URL).

Fundet under produktionsopsætning: brugerens Postgres-kodeord
indeholdt "%", hvilket crashede `alembic upgrade head` med
"ValueError: invalid interpolation syntax".

URL'en gemmes nu i config.attributes (en almindelig dict, ingen
configparser-fortolkning involveret) i stedet, og engine'en i
run_migrations_online bygges direkte med create_engine() i stedet
for engine_from_config() (som ellers ville læse URL'en tilbage via
configparser igen). Verificeret lokalt med både et normalt
DATABASE_URL og et med et bogstaveligt "%" i kodeordet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 12:15:36 +02:00
..
versions Opgave 10: fortløbende ordrenummer pr. runde + afhentningsliste 2026-09-29 00:21:45 +02:00
env.py Ret alembic-crash når DATABASE_URL indeholder et bogstaveligt "%" 2026-09-29 12:15:36 +02:00
README Scaffold FastAPI + SQLModel + Alembic project, Postgres-backed 2026-09-27 15:57:44 +02:00
script.py.mako Define core domain models and add first Alembic migration 2026-09-27 18:51:04 +02:00

Generic single-database configuration.