function addPermissionWithRoles(config, roles) {
    return combineTransactionalMigrations(
        addPermission(config),
        ...roles.map((role => addPermissionToRole({permission: config.name, role})))
    );
}
Creates a migration which will add a permission to the database, and then link it to roles

@param {PermissionConfig} config
@param {string[]} roles - A list of role names

@returns {Migration}