Drizzle "No schema changes, nothing to migrate" in CI
drizzle-kit compares your schema.ts against the last snapshot in the migrations folder. When they match it prints "No schema changes, nothing to migrate." If you expected a new migration, drizzle-kit is not reading the schema you changed.
What this error means
drizzle-kit generate reports "No schema changes, nothing to migrate" and creates no file, even though you edited the schema and expected a migration.
No schema changes, nothing to migrate 😴Common causes
The config points at the wrong schema path
The schema glob in drizzle.config.ts does not include the file you edited, so generate diffs against an unchanged set.
The change is already captured in the latest snapshot
A previous generate already recorded the change, so there is genuinely nothing new to migrate.
How to fix it
Point the config at the right schema files
- Check the
schemapath indrizzle.config.tscovers your changed files. - Use a glob if the schema spans multiple files.
- Re-run
drizzle-kit generate.
export default defineConfig({
dialect: 'postgresql',
schema: './src/db/schema/*.ts',
out: './drizzle',
});Confirm the change is not already migrated
Inspect the newest snapshot under the out directory; if it already contains your change, no new migration is expected.
How to prevent it
- Keep the
schemaconfig path in sync with where your tables are defined. - Use a glob for multi-file schemas so nothing is missed.
- Review the latest snapshot when a change seems to be ignored.