{"id":"c5b769ed44832b5d","repo":"drizzle-team/drizzle-orm","slug":"missing-migration-journalentry-tag-c5b769","errorCode":null,"errorMessage":"Missing migration: ${journalEntry.tag}","messagePattern":"Missing migration: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"drizzle-orm/src/expo-sqlite/migrator.ts","lineNumber":19,"sourceCode":"import { useEffect, useReducer } from 'react';\nimport type { MigrationMeta } from '~/migrator.ts';\nimport type { ExpoSQLiteDatabase } from './driver.ts';\n\ninterface MigrationConfig {\n\tjournal: {\n\t\tentries: { idx: number; when: number; tag: string; breakpoints: boolean }[];\n\t};\n\tmigrations: Record<string, string>;\n}\n\nasync function readMigrationFiles({ journal, migrations }: MigrationConfig): Promise<MigrationMeta[]> {\n\tconst migrationQueries: MigrationMeta[] = [];\n\n\tfor await (const journalEntry of journal.entries) {\n\t\tconst query = migrations[`m${journalEntry.idx.toString().padStart(4, '0')}`];\n\n\t\tif (!query) {\n\t\t\tthrow new Error(`Missing migration: ${journalEntry.tag}`);\n\t\t}\n\n\t\ttry {\n\t\t\tconst result = query.split('--> statement-breakpoint').map((it) => {\n\t\t\t\treturn it;\n\t\t\t});\n\n\t\t\tmigrationQueries.push({\n\t\t\t\tsql: result,\n\t\t\t\tbps: journalEntry.breakpoints,\n\t\t\t\tfolderMillis: journalEntry.when,\n\t\t\t\thash: '',\n\t\t\t});\n\t\t} catch {\n\t\t\tthrow new Error(`Failed to parse migration: ${journalEntry.tag}`);\n\t\t}\n\t}\n","sourceCodeStart":1,"sourceCodeEnd":37,"githubUrl":"https://github.com/drizzle-team/drizzle-orm/blob/b7862528fd8fc39bc2653a6c18dad7c1f4e68d10/drizzle-orm/src/expo-sqlite/migrator.ts#L1-L37","documentation":"Error \"Missing migration: ${journalEntry.tag}\" thrown in drizzle-team/drizzle-orm.","triggerScenarios":"Running expo-sqlite migrations when the bundle lacks the migration file listed in meta/_journal.json (asset not bundled or journal out of sync).","commonSituations":"Migrations folder not included in the Expo app bundle; journal edited manually; generate run after partial cleanup.","solutions":["Copy the missing migration .sql file (and matching _journal.json entry) into the migrations folder bundled with the app, then re-run migrations.","Regenerate migrations with drizzle-kit generate so the journal and SQL files are consistent."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"b7862528fd8fc39bc2653a6c18dad7c1f4e68d10","analyzedAt":"2026-08-03T18:11:14.318Z","schemaVersion":2}