fastmigrate is a new minimalist Python library and CLI tool for managing SQLite database migrations without requiring an ORM. It introduces explicit database versioning through numbered SQL scripts (e.g., 0001-initialize.sql), a small _meta table to track the current version, and just three core commands: create_db, get_db_version, and run_migrations. The tool keeps application startup code stable as schemas evolve — only migration scripts change, not the app logic. It supports SQL, Python, or shell scripts as migrations and includes a CLI for interactive testing. The post also explains the database migration pattern from first principles, contrasting the complexity of ad-hoc schema management with the clarity of versioned migrations.
Table of contents
The problem which migrations solveHow migrations solve this problemHow to use fastmigrateSimple = Clear = Calm34 Impressions