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 278c5ac7_639f_2cd1_f288_b7a7db4b7800["migrate()"] 3977a3fd_2f08_73b1_4df4_3d0fd1858514["PgDialect"] 278c5ac7_639f_2cd1_f288_b7a7db4b7800 -->|defined in| 3977a3fd_2f08_73b1_4df4_3d0fd1858514 style 278c5ac7_639f_2cd1_f288_b7a7db4b7800 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/pg-core/dialect.ts lines 73–112
async migrate(migrations: MigrationMeta[], session: PgSession, config: string | MigrationConfig): Promise<void> {
const migrationsTable = typeof config === 'string'
? '__drizzle_migrations'
: config.migrationsTable ?? '__drizzle_migrations';
const migrationsSchema = typeof config === 'string' ? 'drizzle' : config.migrationsSchema ?? 'drizzle';
const migrationTableCreate = sql`
CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsSchema)}.${sql.identifier(migrationsTable)} (
id SERIAL PRIMARY KEY,
hash text NOT NULL,
created_at bigint
)
`;
await session.execute(sql`CREATE SCHEMA IF NOT EXISTS ${sql.identifier(migrationsSchema)}`);
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(migrationsSchema)}.${
sql.identifier(migrationsTable)
} order by created_at desc limit 1`,
);
const lastDbMigration = dbMigrations[0];
await session.transaction(async (tx) => {
for await (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(migrationsSchema)}.${
sql.identifier(migrationsTable)
} ("hash", "created_at") values(${migration.hash}, ${migration.folderMillis})`,
);
}
}
});
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does migrate() do?
migrate() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/dialect.ts.
Where is migrate() defined?
migrate() is defined in drizzle-orm/src/pg-core/dialect.ts at line 73.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free