| ... | @@ -92,19 +92,20 @@ export interface RunMigrationsOptions { | ... | @@ -92,19 +92,20 @@ export interface RunMigrationsOptions { |
| 92 | * | 92 | * |
| 93 | * @returns Effect containing array of executed migrations | 93 | * @returns Effect containing array of executed migrations |
| 94 | */ | 94 | */ |
| 95 | export const runMigrations = ({ toMigrationInclusive }: RunMigrationsOptions = {}) => | 95 | export const runMigrations = Effect.fn("runMigrations")(function* ({ |
| 96 | Effect.gen(function* () { | 96 | toMigrationInclusive, |
| 97 | yield* Effect.log( | 97 | }: RunMigrationsOptions = {}) { |
| 98 | toMigrationInclusive === undefined | 98 | yield* Effect.log( |
| 99 | ? "Running all migrations..." | 99 | toMigrationInclusive === undefined |
| 100 | : `Running migrations 1 through ${toMigrationInclusive}...`, | 100 | ? "Running all migrations..." |
| 101 | ); | 101 | : `Running migrations 1 through ${toMigrationInclusive}...`, |
| 102 | const executedMigrations = yield* run({ loader: makeMigrationLoader(toMigrationInclusive) }); | 102 | ); |
| 103 | yield* Effect.log("Migrations ran successfully").pipe( | 103 | const executedMigrations = yield* run({ loader: makeMigrationLoader(toMigrationInclusive) }); |
| 104 | Effect.annotateLogs({ migrations: executedMigrations.map(([id, name]) => `${id}_${name}`) }), | 104 | yield* Effect.log("Migrations ran successfully").pipe( |
| 105 | ); | 105 | Effect.annotateLogs({ migrations: executedMigrations.map(([id, name]) => `${id}_${name}`) }), |
| 106 | return executedMigrations; | 106 | ); |
| 107 | }); | 107 | return executedMigrations; |
| | 108 | }); |
| 108 | | 109 | |
| 109 | /** | 110 | /** |
| 110 | * Layer that runs migrations when the layer is built. | 111 | * Layer that runs migrations when the layer is built. |