@chimanos/sequelize-replace-enum-postgres
Version:
This package provides the methods needed to replace a PostgreSQL ENUM in Sequelize migrations.
76 lines • 3.13 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.setColumnDefault = exports.renameEnum = exports.dropEnum = exports.setColumnTypeToEnum = exports.unsetDefaultValueFromEnum = exports.createEnum = void 0;
const queries = __importStar(require("./queries"));
/**
* Create a new ENUM.
*/
const createEnum = (queryInterface) => async (args) => {
const { sequelize } = queryInterface;
return sequelize.query(queries.createEnum(args.name, args.values), args.queryOptions ?? undefined);
};
exports.createEnum = createEnum;
/**
* Unset default value from ENUM.
*/
const unsetDefaultValueFromEnum = (queryInterface) => async (args) => {
const { sequelize } = queryInterface;
return sequelize.query(queries.removeDefaultFromColumn(args.tableName, args.columnName), args.queryOptions ?? undefined);
};
exports.unsetDefaultValueFromEnum = unsetDefaultValueFromEnum;
/**
* Set the column type to an Enum.
*/
const setColumnTypeToEnum = (queryInterface) => async (args) => {
const { sequelize } = queryInterface;
return sequelize.query(queries.setEnumType(args.tableName, args.columnName, args.enumName), args.queryOptions);
};
exports.setColumnTypeToEnum = setColumnTypeToEnum;
/**
* Drop an Enum.
*/
const dropEnum = (queryInterface) => async (args) => {
const { sequelize } = queryInterface;
return sequelize.query(queries.dropEnum(args.name), args.queryOptions);
};
exports.dropEnum = dropEnum;
/**
* Rename an Enum.
*/
const renameEnum = (queryInterface) => async (args) => {
const { sequelize } = queryInterface;
return sequelize.query(queries.renameEnum(args.oldEnumName, args.newEnumName), args.queryOptions);
};
exports.renameEnum = renameEnum;
/**
* Set the default value for a column.
*/
const setColumnDefault = (queryInterface) => async (args) => {
const { sequelize } = queryInterface;
return sequelize.query(queries.setColumnDefault(args.tableName, args.columnName, args.defaultValue, args.defaultValueType), args.queryOptions);
};
exports.setColumnDefault = setColumnDefault;
//# sourceMappingURL=helpers.js.map