/
githubmirror
/
strapi
Обзор
Документация
Войти
/
githubmirror
/
strapi
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/core/database/src/migrations/common.ts
51 строка
1 KB
Ben Irvin
chore(database): replace umzug with internal migration runner (#26824)
05 авг 2026, 12:57
Не верифицирован
05 авг 2026, 12:57
93875d3
Код
Авторство
О чём код?
import type { Knex } from 'knex'; import type { Database } from '..'; export interface UserMigrationProvider { shouldRun(): Promise<boolean>; up(): Promise<void>; down(): Promise<void>; } export interface InternalMigrationProvider { register(migration: Migration): void; shouldRun(): Promise<boolean>; up(): Promise<void>; down(): Promise<void>; } export interface MigrationProvider { providers: { internal: InternalMigrationProvider }; shouldRun(): Promise<boolean>; up(): Promise<void>; down(): Promise<void>; } export type Context = { db: Database }; export type MigrationResolverParams = { name: string; path?: string; context: Context; }; export type MigrationRunnerFn = () => Promise<void> | Promise<Promise<void>>; export type MigrationResolver = (params: MigrationResolverParams) => { name: string; path?: string; up: MigrationRunnerFn; down: MigrationRunnerFn; }; export type MigrationFn = (knex: Knex.Transaction, db: Database) => Promise<void>; export type Migration = { name: string; up: MigrationFn; down: MigrationFn; }; export const wrapTransaction = (db: Database) => (fn: MigrationFn) => () => { return db.transaction(({ trx }) => Promise.resolve(fn(trx, db))); };