What problem does it solve? Database schema changes in this project must be captured as versioned Alembic migrations, but autogenerate can silently produce empty migrations, miss models, or conflict with tables created outside migration history. This Skill documents the project's specific Alembic setup and its two real failure modes so migrations are generated and applied correctly. ## Core Features & Use Cases - Migration generation and application: Run uv run alembic revision --autogenerate and uv run alembic upgrade head against the project's async SQLModel setup, with the database URL wired from settings.database_url. - Gotcha diagnosis: Explains the prepend_sys_path = src import requirement and the create_all()-outside-migrations bug that makes autogenerate report "No changes detected". - Migration review guidance: Shows what a generated migration file looks like and what to check before applying it, including rename drop/add traps and downgrade correctness. - Use Case: After adding an email column to the Item model in src/api/models.py, generate a migration, review the generated op.add_column call, and apply it with alembic upgrade head before starting the app. ## Quick Start Ask the assistant to generate and apply an Alembic migration for a model change you just made in src/api/models.py.