UNPKG

node-pg-migrate-custom

Version:

Postgresql database migration management tool for node.js

39 lines (38 loc) 1.67 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createExtension = exports.dropExtension = void 0; const lodash_1 = __importDefault(require("lodash")); function dropExtension(mOptions) { const _drop = (extensions, options = {}) => { const { ifExists, cascade } = options; if (!lodash_1.default.isArray(extensions)) extensions = [extensions]; const ifExistsStr = ifExists ? ' IF EXISTS' : ''; const cascadeStr = cascade ? ' CASCADE' : ''; return lodash_1.default.map(extensions, (extension) => { const extensionStr = mOptions.literal(extension); return `DROP EXTENSION${ifExistsStr} ${extensionStr}${cascadeStr};`; }); }; return _drop; } exports.dropExtension = dropExtension; function createExtension(mOptions) { const _create = (extensions, options = {}) => { const { ifNotExists, schema } = options; if (!lodash_1.default.isArray(extensions)) extensions = [extensions]; const ifNotExistsStr = ifNotExists ? ' IF NOT EXISTS' : ''; const schemaStr = schema ? ` SCHEMA ${mOptions.literal(schema)}` : ''; return lodash_1.default.map(extensions, (extension) => { const extensionStr = mOptions.literal(extension); return `CREATE EXTENSION${ifNotExistsStr} ${extensionStr}${schemaStr};`; }); }; _create.reverse = dropExtension(mOptions); return _create; } exports.createExtension = createExtension;