{"id":43818,"library":"sequelize_enum_utils","title":"Sequelize Enum Utils","description":"Sequelize Enum Utils is a utility package (version 1.1.0) that simplifies PostgreSQL ENUM manipulation in Sequelize migrations. It provides helper functions for safely adding and removing enum members, handling column updates and default values automatically. Unlike raw SQL or manual migration scripts, this package abstracts common pitfalls like enum value existence checks and column default value handling. It is authored by Federico Antunes and targets projects using Sequelize with PostgreSQL. The release cadence is low; the package is stable with a single major version.","status":"active","version":"1.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/FedericoAntunesDev/sequelize_enum_utils","tags":["javascript","NodeJS","PostgreSQL","ENUM","Migration","Sequelize"],"install":[{"cmd":"npm install sequelize_enum_utils","lang":"bash","label":"npm"},{"cmd":"yarn add sequelize_enum_utils","lang":"bash","label":"yarn"},{"cmd":"pnpm add sequelize_enum_utils","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package uses CommonJS and does not provide ESM exports. Default import is not supported.","wrong":"import { enumUtils } from 'sequelize_enum_utils';","symbol":"enumUtils","correct":"const { enumUtils } = require('sequelize_enum_utils');"},{"note":"addMember is a method on the exported object enumUtils, not a direct export.","wrong":"const addMember = require('sequelize_enum_utils').addMember;","symbol":"addMember","correct":"const { enumUtils: { addMember } } = require('sequelize_enum_utils');"},{"note":"removeMember is a method on the exported object enumUtils, not a direct export.","wrong":"const removeMember = require('sequelize_enum_utils').removeMember;","symbol":"removeMember","correct":"const { enumUtils: { removeMember } } = require('sequelize_enum_utils');"}],"quickstart":{"code":"const { enumUtils } = require('sequelize_enum_utils');\n\nmodule.exports = {\n  up: async (queryInterface, Sequelize) => {\n    await enumUtils.addMember({\n      queryInterface,\n      enumName: 'enum_transaction_status',\n      newEnumMember: 'CANCELLED',\n    });\n\n    await enumUtils.removeMember({\n      queryInterface,\n      enumName: 'enum_transaction_status',\n      enumMembersToRemove: ['PENDING'],\n      defaultEnumValue: 'ACCEPTED',\n    });\n  },\n  down: async (queryInterface, Sequelize) => {},\n};","lang":"javascript","description":"Demonstrates adding and removing enum members in a Sequelize migration using enumUtils.addMember and enumUtils.removeMember."},"warnings":[{"fix":"Wrap in try-catch or check existence before calling addMember.","message":"addMember throws an error if the enum value already exists.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Always provide a defaultEnumValue to avoid unintended NULL values.","message":"removeMember without defaultEnumValue sets affected columns to NULL.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Use require() instead of import.","message":"The package is CommonJS-only; ES import syntax (import) will fail.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"","message":"No known breaking changes in 1.1.0; API is stable.","severity":"breaking","affected_versions":">=1.0"}],"env_vars":null,"search_vec":"'1.1.0':12 'abstract':48 'ad':27 'antun':66 'author':63 'automat':38 'cadenc':76 'check':55 'column':33,57 'common':49 'default':36,58 'enum':2,5,16,30,52,91 'exist':54 'federico':65 'function':24 'handl':32,60 'helper':23 'javascript':88 'like':51 'low':78 'major':86 'manipul':17 'manual':43 'member':31 'migrat':20,44,92 'nodej':89 'packag':10,47,80 'pitfal':50 'postgresql':15,73,90 'project':69 'provid':22 'raw':40 'releas':75 'remov':29 'safe':26 'script':45 'sequel':1,4,19,71,93 'simplifi':14 'singl':85 'sql':41 'stabl':82 'target':68 'unlik':39 'updat':34 'use':70 'util':3,6,9 'valu':37,53,59 'version':11,87","created_at":"2026-06-05T17:01:37.793793+00:00","updated_at":"2026-06-05T17:01:37.793793+00:00","problems":[{"fix":"const { enumUtils } = require('sequelize_enum_utils'); then use enumUtils.addMember(...)","cause":"Incorrect import; direct require('...') instead of destructuring the object.","error":"TypeError: enumUtils.addMember is not a function"},{"fix":"Check if the value exists before adding, or catch the error.","cause":"addMember called for an existing enum value.","error":"Error: The enum value already exists"},{"fix":"npm install sequelize_enum_utils","cause":"Package not installed.","error":"Cannot find module 'sequelize_enum_utils'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/FedericoAntunesDev/sequelize_enum_utils?tab=readme-ov-file#enum-utils-sequelize-postgresql","github":"https://github.com/FedericoAntunesDev/sequelize_enum_utils","docs":null,"changelog":null,"pypi":null,"npm":"sequelize_enum_utils","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}