Home / Function/ readMigrationFiles() — drizzle-orm Function Reference

readMigrationFiles() — drizzle-orm Function Reference

Architecture documentation for the readMigrationFiles() function in migrator.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  dfc054fd_8e89_4c15_7749_52755f8222e9["readMigrationFiles()"]
  ddd2412c_eedb_e4aa_abe8_44dd33a2c489["migrator.ts"]
  dfc054fd_8e89_4c15_7749_52755f8222e9 -->|defined in| ddd2412c_eedb_e4aa_abe8_44dd33a2c489
  style dfc054fd_8e89_4c15_7749_52755f8222e9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/migrator.ts lines 22–60

export function readMigrationFiles(config: MigrationConfig): MigrationMeta[] {
	const migrationFolderTo = config.migrationsFolder;

	const migrationQueries: MigrationMeta[] = [];

	const journalPath = `${migrationFolderTo}/meta/_journal.json`;
	if (!fs.existsSync(journalPath)) {
		throw new Error(`Can't find meta/_journal.json file`);
	}

	const journalAsString = fs.readFileSync(`${migrationFolderTo}/meta/_journal.json`).toString();

	const journal = JSON.parse(journalAsString) as {
		entries: { idx: number; when: number; tag: string; breakpoints: boolean }[];
	};

	for (const journalEntry of journal.entries) {
		const migrationPath = `${migrationFolderTo}/${journalEntry.tag}.sql`;

		try {
			const query = fs.readFileSync(`${migrationFolderTo}/${journalEntry.tag}.sql`).toString();

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

			migrationQueries.push({
				sql: result,
				bps: journalEntry.breakpoints,
				folderMillis: journalEntry.when,
				hash: crypto.createHash('sha256').update(query).digest('hex'),
			});
		} catch {
			throw new Error(`No file ${migrationPath} found in ${migrationFolderTo} folder`);
		}
	}

	return migrationQueries;
}

Domain

Subdomains

Frequently Asked Questions

What does readMigrationFiles() do?
readMigrationFiles() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/migrator.ts.
Where is readMigrationFiles() defined?
readMigrationFiles() is defined in drizzle-orm/src/migrator.ts at line 22.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free