como pode desfazer sequelize o tipo de enum de migração

Oct 08 2020

Eu uso o banco de dados PostgreSQL e ele tem uma coluna do tipo enum e alguns enum como a, b, c

agora eu adiciono mais um valor, como currículo CV nele com este código

module.exports = {
up: async (queryInterface, Sequelize) => {
      await queryInterface.sequelize.query('ALTER TYPE "enum_Attachment_type" ADD VALUE \'cv-resume\' ')
}

o que devo fazer para desfazer isso na função down e não quero excluir outros dados de tipo de enum porque cada tipo tem seus próprios dados na tabela de anexos

Respostas

1 infinityfye Oct 15 2020 at 21:08

Da documentação :

Embora os tipos de enum sejam principalmente destinados a conjuntos de valores estáticos, há suporte para adicionar novos valores a um tipo de enum existente e para renomear valores (consulte ALTER TYPE). Os valores existentes não podem ser removidos de um tipo de enum, nem a ordem de classificação de tais valores pode ser alterada, exceto para descartar e recriar o tipo de enum.

Portanto, não vejo outra maneira de "desfazer" a não ser descartando e recriando o enum.

ATUALIZAÇÃO: marque Drop e crie ENUM com sequelize corretamente?