PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

SequelizeUniqueConstraintError को Sequelize में कैसे अनदेखा करें?

मेरा समाधान।

विधि जोड़ें updateOrCreate

Product.updateOrCreate = function (options) {
    return this.findOrCreate(options).then(res => {
        let [row, created] = res;
        if (created) return [row, created];
        return row.update(options.defaults, options.transaction)
            .then(updated => [updated, created]);
    })
};
Tag.updateOrCreate = function (options) {
    return this.findOrCreate(options).then(res => {
        let [row, created] = res;
        if (created) return [row, created];
        return row.update(options.defaults, options.transaction)
            .then(updated => [updated, created]);
    })
};

उपयोग करें

let data = {
    title: 'Chair',
    tag: [
        {name: 'Alpha'},
        {name: 'Beta'}
    ]
};
return sequelize.transaction().then(t => {
    return Product.updateOrCreate({
        where: {title: data.title},
        defaults: data,
        transaction: t
    }).then(res => {
        let [product] = res;
        return Promise.all(data.tag.map(tag => {
            return Tag.updateOrCreate({
                where: {name: tag.name},
                defaults: tag,
                transaction: t
            }).then(res => {
                let [tag] = res;
                return Promise.resolve(tag);
            }).catch(err => Promise.reject(err.message));
        })).then(() => {
            t.commit();
            sequelize.close();
        }).catch(err => Promise.reject(err));
    }).catch(err => {
        t.rollback();
        sequelize.close();
    });
});


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यूयूआईडी की सरणी पर पोस्टग्रेएसक्यूएल जीआईएन इंडेक्स

  2. स्थानीय पोस्टग्रेज डीबी त्रुटि देता रहता है डुप्लिकेट कुंजी मान अद्वितीय बाधा का उल्लंघन करता है

  3. जब डेटाबेस रिकॉर्ड को पोस्टग्रेज करने के लिए लिखा जाता है, तो शेल स्क्रिप्ट चलाएँ

  4. PostGIS Homebrew स्थापना एक पुराने पथ का संदर्भ दे रही है?

  5. मैं अपने मूल असेंबली के साथ बेचे गए घटकों की मात्रा की गणना करने के लिए SQL क्वेरी कैसे लिख सकता हूं? (पोस्टग्रेस 11/रिकर्सिव सीटीई?)