UNPKG

node-pg-migrate

Version:

PostgreSQL database migration management tool for node.js

30 lines (29 loc) 991 B
import { viewOptionStr } from "./shared.js"; function alterView(mOptions) { const _alter = (viewName, viewOptions) => { const { checkOption, options = {} } = viewOptions; if (checkOption !== void 0) { if (options.check_option === void 0) { options.check_option = checkOption; } else { throw new Error( `"options.check_option" and "checkOption" can't be specified together` ); } } const clauses = []; const withOptions = Object.keys(options).filter((key) => options[key] !== null).map(viewOptionStr(options)).join(", "); if (withOptions) { clauses.push(`SET (${withOptions})`); } const resetOptions = Object.keys(options).filter((key) => options[key] === null).join(", "); if (resetOptions) { clauses.push(`RESET (${resetOptions})`); } return clauses.map((clause) => `ALTER VIEW ${mOptions.literal(viewName)} ${clause};`).join("\n"); }; return _alter; } export { alterView };