{"version":3,"sources":["../../src/drizzle/migrator.ts"],"sourcesContent":["/**\n * Drizzle ORM Migrator for postgres.do\n *\n * This module provides migration support for Drizzle ORM with postgres.do.\n * It uses Drizzle's built-in migration system to apply schema changes.\n *\n * @example\n * ```typescript\n * import { drizzle } from 'postgres.do/drizzle'\n * import { migrate } from 'postgres.do/drizzle/migrator'\n * import postgres from 'postgres.do'\n *\n * const sql = postgres('postgres://db.postgres.do/mydb')\n * const db = drizzle(sql)\n *\n * // Run migrations\n * await migrate(db, { migrationsFolder: './drizzle' })\n * ```\n */\n\nimport { readMigrationFiles, type MigrationConfig } from 'drizzle-orm/migrator'\nimport type { PostgresDoDatabase } from './driver.js'\n\n/**\n * Run database migrations\n *\n * This function applies all pending migrations to the database.\n * It reads migration files from the specified folder and executes\n * them in order.\n *\n * @param db - The Drizzle database instance\n * @param config - Migration configuration\n *\n * @example\n * ```typescript\n * import { migrate } from 'postgres.do/drizzle/migrator'\n *\n * await migrate(db, {\n *   migrationsFolder: './drizzle',\n *   migrationsTable: '__drizzle_migrations', // optional\n * })\n * ```\n */\nexport async function migrate<TSchema extends Record<string, unknown>>(\n  db: PostgresDoDatabase<TSchema>,\n  config: MigrationConfig\n): Promise<void> {\n  const migrations = readMigrationFiles(config)\n  // @ts-expect-error - accessing internal dialect and session\n  await db.dialect.migrate(migrations, db._.session, config)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBA,sBAAyD;AAuBzD,eAAsB,QACpB,IACA,QACe;AACf,QAAM,iBAAa,oCAAmB,MAAM;AAE5C,QAAM,GAAG,QAAQ,QAAQ,YAAY,GAAG,EAAE,SAAS,MAAM;AAC3D;","names":[]}