function createUmzug(sequelize, options) {
  return new Umzug({
    logger: {
      debug: msg => logVerbose('[umzug]', msg),
      warn: msg => logVerbose('[umzug]', msg),
      error: msg => logVerbose('[umzug]', msg),
      info: msg => logVerbose('[umzug]', msg),
    },
    storage: new SequelizeStorage({
      sequelize,
      tableName: options.sqlMigrationOptions && options.sqlMigrationOptions.tableName,
    }),
    context: {queryInterface: sequelize.getQueryInterface(), options},
    migrations: {
      glob: path.posix.join(__dirname.replaceAll('\\', '/'), 'migrations/*.js'),
      resolve: ({name, path, context}) => {
        if (!path) throw new Error('unexpected missing path');

        const migration = require(path);
        return {
          name,
          up: async () => migration.up(context),
          down: async () => migration.down(context),
        };
      },
    },
  });
}
@param {import('sequelize').Sequelize} sequelize
@param {LHCI.ServerCommand.StorageOptions} options