migrate() — drizzle-orm Function Reference
Architecture documentation for the migrate() function in migrator.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD ef4b4cfc_0833_d7b3_f68f_3b28658138c5["migrate()"] 27d8247e_8c81_1fdb_66cc_072963ce230b["migrator.ts"] ef4b4cfc_0833_d7b3_f68f_3b28658138c5 -->|defined in| 27d8247e_8c81_1fdb_66cc_072963ce230b style ef4b4cfc_0833_d7b3_f68f_3b28658138c5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-orm/src/singlestore-proxy/migrator.ts lines 8–52
export async function migrate<TSchema extends Record<string, unknown>>(
db: SingleStoreRemoteDatabase<TSchema>,
callback: ProxyMigrator,
config: MigrationConfig,
) {
const migrations = readMigrationFiles(config);
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 db.execute(migrationTableCreate);
const dbMigrations = await db.select({
id: sql.raw('id'),
hash: sql.raw('hash'),
created_at: sql.raw('created_at'),
}).from(sql.identifier(migrationsTable).getSQL()).orderBy(
sql.raw('created_at desc'),
).limit(1);
const lastDbMigration = dbMigrations[0];
const queriesToRun: string[] = [];
for (const migration of migrations) {
if (
!lastDbMigration
|| Number(lastDbMigration.created_at) < migration.folderMillis
) {
queriesToRun.push(
...migration.sql,
`insert into ${
sql.identifier(migrationsTable).value
} (\`hash\`, \`created_at\`) values('${migration.hash}', '${migration.folderMillis}')`,
);
}
}
await callback(queriesToRun);
}
Domain
Subdomains
Source
Frequently Asked Questions
What does migrate() do?
migrate() is a function in the drizzle-orm codebase, defined in drizzle-orm/src/singlestore-proxy/migrator.ts.
Where is migrate() defined?
migrate() is defined in drizzle-orm/src/singlestore-proxy/migrator.ts at line 8.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free