swc/bundler/tests/.cache/untrusted/37208513d893687a829cb7e388e61f4c7f81ee0d.ts

43 lines
1.2 KiB
TypeScript
Raw Normal View History

// Loaded from https://raw.githubusercontent.com/denjucks/dex/master/lib/migrate/migration-list-resolver.js
import { getTableName } from './table-resolver.js';
import { ensureTable } from './table-creator.js';
// Lists all available migration versions, as a sorted array.
function listAll(migrationSource, loadExtensions) {
return migrationSource.getMigrations(loadExtensions);
}
// Lists all migrations that have been completed for the current db, as an
// array.
function listCompleted(tableName, schemaName, trxOrKnex) {
return ensureTable(tableName, schemaName, trxOrKnex)
.then(() =>
trxOrKnex
.from(getTableName(tableName, schemaName))
.orderBy('id')
.select('name')
)
.then((migrations) =>
migrations.map((migration) => {
return migration.name;
})
);
}
// Gets the migration list from the migration directory specified in config, as well as
// the list of completed migrations to check what should be run.
function listAllAndCompleted(config, trxOrKnex) {
return Promise.all([
listAll(config.migrationSource, config.loadExtensions),
listCompleted(config.tableName, config.schemaName, trxOrKnex),
]);
}
export default {
listAll,
listAllAndCompleted,
listCompleted,
};