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

migrate() — drizzle-orm Function Reference

Architecture documentation for the migrate() function in dialect.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  858ed298_39e8_cc51_0441_6e5b1d8c2025["migrate()"]
  1da3f399_3da2_55ff_342e_fb92de5e010c["SingleStoreDialect"]
  858ed298_39e8_cc51_0441_6e5b1d8c2025 -->|defined in| 1da3f399_3da2_55ff_342e_fb92de5e010c
  bc80d645_36f5_d37f_6833_0a8ee487bf1b["values()"]
  858ed298_39e8_cc51_0441_6e5b1d8c2025 -->|calls| bc80d645_36f5_d37f_6833_0a8ee487bf1b
  style 858ed298_39e8_cc51_0441_6e5b1d8c2025 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/src/singlestore-core/dialect.ts lines 53–91

	async migrate(
		migrations: MigrationMeta[],
		session: SingleStoreSession,
		config: Omit<MigrationConfig, 'migrationsSchema'>,
	): Promise<void> {
		const migrationsTable = config.migrationsTable ?? '__drizzle_migrations';
		const migrationTableCreate = sql`
			create table if not exists ${sql.identifier(migrationsTable)} (
				id serial primary key,
				hash text not null,
				created_at bigint
			)
		`;
		await session.execute(migrationTableCreate);

		const dbMigrations = await session.all<{ id: number; hash: string; created_at: string }>(
			sql`select id, hash, created_at from ${sql.identifier(migrationsTable)} order by created_at desc limit 1`,
		);

		const lastDbMigration = dbMigrations[0];

		await session.transaction(async (tx) => {
			for (const migration of migrations) {
				if (
					!lastDbMigration
					|| Number(lastDbMigration.created_at) < migration.folderMillis
				) {
					for (const stmt of migration.sql) {
						await tx.execute(sql.raw(stmt));
					}
					await tx.execute(
						sql`insert into ${
							sql.identifier(migrationsTable)
						} (\`hash\`, \`created_at\`) values(${migration.hash}, ${migration.folderMillis})`,
					);
				}
			}
		});
	}

Domain

Subdomains

Calls

Frequently Asked Questions

What does migrate() do?
migrate() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/singlestore-core/dialect.ts.
Where is migrate() defined?
migrate() is defined in drizzle-orm/src/singlestore-core/dialect.ts at line 53.
What does migrate() call?
migrate() calls 1 function(s): values.

Analyze Your Own Codebase

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

Try Supermodel Free