Context
The v3 reference seller boots via Base.metadata.create_all. This is idempotent on table existence, but does NOT detect:
- column renames
- column type changes
- new columns on existing tables
- removed columns
- index changes
Production adopters cloning this example need a real migration story. Without one, the example is misleading — adopters will copy create_all into prod and get burned the first time the schema evolves.
Refs:
examples/v3_reference_seller/src/app.py (boot path with create_all)
examples/v3_reference_seller/src/models.py
Acceptance Criteria
Context
The v3 reference seller boots via
Base.metadata.create_all. This is idempotent on table existence, but does NOT detect:Production adopters cloning this example need a real migration story. Without one, the example is misleading — adopters will copy
create_allinto prod and get burned the first time the schema evolves.Refs:
examples/v3_reference_seller/src/app.py(boot path withcreate_all)examples/v3_reference_seller/src/models.pyAcceptance Criteria
examples/v3_reference_seller/alembic/(env.py, alembic.ini, versions/)alembic upgrade head(or refuses to start if migrations are out of date) instead ofcreate_allBase.metadata