postgresql 数据库重置后序列化错误枚举已存在

mspsb9vt  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(1)|浏览(110)

我有一个问题。我怎样才能防止数据库重置(同步强制为真)后出现以下错误?
序列化数据库错误:类型“enum_coverLists_supportingDocument”已存在
以下是我的模型的外观:

export const SUPPORTING_DOCUMENT = {
    MEDIATION_FEES: 'MEDIATION_FEES',
    LEGAL_COUNSEL_FEES: 'LEGAL_COUNSEL_FEES',
    FILING_COMPLAINT: 'FILING_COMPLAINT'
};

export const TYPE = {
    BUDGET: 'BUDGET',
    QUANTITY: 'QUANTITY',
    UNLIMITED: 'UNLIMITED'
};

const coverList = function (sequelize, Sequelize) {
    const coverList = sequelize.define('coverList',
        {
            id: {
                primaryKey: true,
                type: Sequelize.UUID,
                defaultValue: Sequelize.UUIDV4
            },
            title: {
                type: Sequelize.STRING,
                allowNull: false
            },
            description: {
                type: Sequelize.STRING,
                allowNull: true
            },
            supportingDocument: {
                type: Sequelize.ARRAY(Sequelize.ENUM({
                    values: [...Object.values(SUPPORTING_DOCUMENT)]
                })),
                validate: {
                    isIn: [...Object.values(SUPPORTING_DOCUMENT)],
                },
                allowNull: true
            }, 
            type: {
                type: Sequelize.ENUM,
                values: Object.values(TYPE),
                validate: {
                    isIn: [Object.values(TYPE)],
                },
                allowNull: false
            }
        });
    return coverList;
};
export default coverList;

堆栈:

  • Node.js
  • PostgreSQL数据库
  • 续写

提前感谢您的帮助。

i2loujxw

i2loujxw1#

因此,每当你创建一个“enum”,它将存储在数据库中。如果你使用pgAdmin,它将所有的enum存储在“Types”文件夹中,如果你使用dbeaver,它将存储在“dataTypes”文件夹中。因此,从那里,你可以删除它... you can see here...

相关问题