Migrating to Drizzle ORM v1.0.0-beta.5
Version v1.0.0-beta.5 introduces 3 breaking changes. This guide details how to update your code.
Released: 12/23/2025
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
sqliteTableuniqueIndexforeignKeyblobjsonbdrizzle-kit updrizzle-kit pushBreaking Changes
●Issue #1
SQLite UNIQUE constraints are now handled as uniqueIndex. This requires a specific naming convention: <table>_<column1>*_*<column2>_..._unique.
●Issue #2
SQLite Foreign Key names defined in TS schema were previously ignored in SQL generation; new versions will now detect a diff if names exist in schema but not in DB, leading to table recreations.
●Issue #3
SQLite columns added with references (onDelete/onUpdate) in previous versions may have been created without those parameters; the new version will trigger a table recreation to fix this state.
Migration Steps
- 1Run `drizzle-kit up` to upgrade snapshots to the new format.
- 2If using SQLite and you already used a `beta.x` version of `drizzle-kit up`, you may need to reset migrations or contact support.
- 3To avoid table recreations during `push` due to foreign key name mismatches in SQLite, remove explicit foreign key names from the TypeScript schema if they don't exist in the database.
- 4Ensure SQLite unique indexes follow the naming pattern: <table>_<column1>*_*<column2>_..._unique.
Release Summary
This release fixes several critical bugs across PostgreSQL, MSSQL, and MySQL, while introducing significant changes to how SQLite unique constraints and foreign keys are handled in drizzle-kit.
Need More Details?
View the full release notes and all changes for Drizzle ORM v1.0.0-beta.5.
View Full Changelog