come si può annullare sequelize migration enum type

Oct 08 2020

Uso PostgreSQL DB e ha una colonna di tipo enum e ha alcuni enum come a, b, c

ora aggiungo un altro valore come cv-resume con questo codice

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

cosa dovrei fare per annullarlo nella funzione down e non voglio eliminare altri dati di tipo enum perché ogni tipo ha i propri dati nella tabella degli allegati

Risposte

1 infinityfye Oct 15 2020 at 21:08

Dalla documentazione :

Sebbene i tipi di enumerazione siano destinati principalmente a set di valori statici, è disponibile il supporto per l'aggiunta di nuovi valori a un tipo di enum esistente e per la ridenominazione dei valori (vedere ALTER TYPE). I valori esistenti non possono essere rimossi da un tipo enum, né l'ordinamento di tali valori può essere modificato, a meno di eliminare e ricreare il tipo enum.

Quindi non vedo altro modo per "annullare" se non eliminare e ricreare l'enumerazione.

AGGIORNAMENTO: seleziona Drop e crea ENUM con sequelize correttamente?