VeloIQ pre-wires Alembic into every generated project so you have a migration tool ready whenever you need it. During development, the framework can create database tables automatically on startup — no migration step required. For production, disable that behaviour and use Alembic migrations to track and apply schema changes safely.Documentation Index
Fetch the complete documentation index at: https://docs.veloiq.dev/llms.txt
Use this file to discover all available pages before exploring further.
Development vs production
- Development
- Production
By default, No migration commands needed. Add fields to your models, restart the backend, and the tables update automatically.
create_tables_on_startup is True. The framework calls SQLModel.metadata.create_all() when the backend starts, creating any missing tables. This is the fastest way to get started:Auto table creation adds new columns but does not drop or rename existing ones. For destructive schema changes, use Alembic even in development.
Run Alembic commands via veloiq db
VeloIQ wraps the most common Alembic commands under veloiq db so you do not need to configure Alembic directly:
| Command | What it does |
|---|---|
veloiq db migrate -m "add product table" | Generate a new revision file from your current models |
veloiq db upgrade | Apply all pending revisions to the database |
veloiq db history | List all revisions in order |
veloiq db current | Show the revision the database is currently at |
Workflow for schema changes
Follow this sequence every time you change a model:Regenerate the API and frontend schemas
api.py and TypeScript schema files to match the updated models.Create a new migration revision
ALTER TABLE (or equivalent) statements.Supported databases
VeloIQ works with any SQLAlchemy-compatible database. Set theDATABASE_URL environment variable (or pass database_url to VeloIQConfig) to the connection string for your database:
- PostgreSQL
- MySQL
- SQLite