drizzle-team/drizzle-orm · error · Error

Failed to parse migration: ${journalEntry.tag}

Error message

Failed to parse migration: ${journalEntry.tag}

What it means

Error "Failed to parse migration: ${journalEntry.tag}" thrown in drizzle-team/drizzle-orm.

Source

Thrown at drizzle-orm/src/expo-sqlite/migrator.ts:34

		const query = migrations[`m${journalEntry.idx.toString().padStart(4, '0')}`];

		if (!query) {
			throw new Error(`Missing migration: ${journalEntry.tag}`);
		}

		try {
			const result = query.split('--> statement-breakpoint').map((it) => {
				return it;
			});

			migrationQueries.push({
				sql: result,
				bps: journalEntry.breakpoints,
				folderMillis: journalEntry.when,
				hash: '',
			});
		} catch {
			throw new Error(`Failed to parse migration: ${journalEntry.tag}`);
		}
	}

	return migrationQueries;
}

export async function migrate<TSchema extends Record<string, unknown>>(
	db: ExpoSQLiteDatabase<TSchema>,
	config: MigrationConfig,
) {
	const migrations = await readMigrationFiles(config);
	return db.dialect.migrate(migrations, db.session);
}

interface State {
	success: boolean;
	error?: Error;
}

View on GitHub (pinned to b7862528fd)

Solutions

  1. Ensure the migrations folder bundled with the app contains valid, unmodified .sql files for every journal entry.
  2. Regenerate the migrations with drizzle-kit generate and redeploy.

When it happens

Trigger: Running expo-sqlite migrations when a migration's SQL content cannot be parsed (empty, corrupt, or malformed file referenced by the journal).

Common situations: Hand-edited migration files; truncated assets in the app bundle; mixing journal entries from different drizzle-kit versions.


AI-assisted analysis of drizzle-team/drizzle-orm@b7862528fd (2026-08-03). Data as JSON: /data/errors/31afa41cbc9f09d1.json. Report an issue: GitHub.