|
1 | | -import type { MigrationConfig } from '~/migrator.ts'; |
| 1 | +import type { |
| 2 | + MigrationConfig, |
| 3 | + MigrationFromJournalConfig, |
| 4 | + MigrationMeta, |
| 5 | + MigrationsJournal, |
| 6 | + MigratorInitFailResponse, |
| 7 | +} from '~/migrator.ts'; |
2 | 8 | import { readMigrationFiles } from '~/migrator.ts'; |
3 | 9 | import type { AnyRelations, EmptyRelations } from '~/relations.ts'; |
4 | 10 | import type { SQLiteBunDatabase } from './driver.ts'; |
5 | 11 |
|
6 | 12 | export function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>( |
7 | 13 | db: SQLiteBunDatabase<TSchema, TRelations>, |
8 | 14 | config: MigrationConfig, |
9 | | -) { |
10 | | - const migrations = readMigrationFiles(config); |
11 | | - return db.dialect.migrate(migrations, db.session, config); |
| 15 | +): void | MigratorInitFailResponse; |
| 16 | +export function migrate< |
| 17 | + TSchema extends Record<string, unknown>, |
| 18 | + TRelations extends AnyRelations = EmptyRelations, |
| 19 | +>( |
| 20 | + db: SQLiteBunDatabase<TSchema, TRelations>, |
| 21 | + config: MigrationFromJournalConfig | MigrationsJournal, |
| 22 | +): void; |
| 23 | +export function migrate<TSchema extends Record<string, unknown>, TRelations extends AnyRelations = EmptyRelations>( |
| 24 | + db: SQLiteBunDatabase<TSchema, TRelations>, |
| 25 | + config: MigrationConfig | MigrationFromJournalConfig | MigrationsJournal, |
| 26 | +): void | MigratorInitFailResponse { |
| 27 | + if ('migrationsJournal' in config) { |
| 28 | + const journal = config.migrationsJournal; |
| 29 | + const migrationsTable = config.migrationsTable; |
| 30 | + |
| 31 | + const migrations: MigrationMeta[] = journal.map((d) => ({ |
| 32 | + sql: d.sql.split('--> statement-breakpoint'), |
| 33 | + folderMillis: d.timestamp, |
| 34 | + hash: '', |
| 35 | + bps: true, |
| 36 | + })); |
| 37 | + |
| 38 | + return db.dialect.migrate(migrations, db.session, { |
| 39 | + migrationsTable, |
| 40 | + }); |
| 41 | + } |
| 42 | + |
| 43 | + const migrations = readMigrationFiles(config as MigrationConfig); |
| 44 | + return db.dialect.migrate(migrations, db.session, config as MigrationConfig); |
12 | 45 | } |
0 commit comments