Files
pole-book/server/node_modules/@strapi/database/dist/migrations/internal.mjs

62 lines
1.9 KiB
JavaScript

import { Umzug } from 'umzug';
import { wrapTransaction } from './common.mjs';
import { internalMigrations } from './internal-migrations/index.mjs';
import { createStorage } from './storage.mjs';
import { transformLogMessage } from './logger.mjs';
const createInternalMigrationProvider = (db)=>{
const context = {
db
};
const migrations = [
...internalMigrations
];
const umzugProvider = new Umzug({
storage: createStorage({
db,
tableName: 'strapi_migrations_internal'
}),
logger: {
info (message) {
// NOTE: only log internal migration in debug mode
db.logger.debug(transformLogMessage('info', message));
},
warn (message) {
db.logger.warn(transformLogMessage('warn', message));
},
error (message) {
db.logger.error(transformLogMessage('error', message));
},
debug (message) {
db.logger.debug(transformLogMessage('debug', message));
}
},
context,
migrations: ()=>migrations.map((migration)=>{
return {
name: migration.name,
up: wrapTransaction(context.db)(migration.up),
down: wrapTransaction(context.db)(migration.down)
};
})
});
return {
async register (migration) {
migrations.push(migration);
},
async shouldRun () {
const pendingMigrations = await umzugProvider.pending();
return pendingMigrations.length > 0;
},
async up () {
await umzugProvider.up();
},
async down () {
await umzugProvider.down();
}
};
};
export { createInternalMigrationProvider };
//# sourceMappingURL=internal.mjs.map