जब तक Sequelize केवल पढ़ने के लिए फ़ील्ड और GENERATED डेटाटाइप का समर्थन नहीं करता, तब तक आप एक कस्टम डेटाटाइप के साथ Sequelize प्राप्त कर सकते हैं:
const Item = sequelize.define('Item', {
someCol: { type: DataTypes.DOUBLE },
someOtherCol: { type: DataTypes.DOUBLE },
generatedValue: {
type: 'DOUBLE PRECISION GENERATED ALWAYS AS (LEAST("someCol", "someOtherCol")) STORED',
set() {
throw new Error('generatedValue is read-only')
},
},
})
यह sync()
. का उपयोग करते समय पोस्टग्रेज में कॉलम को सही ढंग से जनरेट करेगा , और generatedValue
. को सेट करने से रोकें जावास्क्रिप्ट में एक त्रुटि फेंक कर।
यह मानते हुए कि सीक्वेलाइज़ कभी भी फ़ील्ड को अपडेट करने का प्रयास नहीं करता है यदि यह नहीं बदला है, जैसा कि https://sequelize.org/master/manual/model-instances.html#change-awareness-of-save , तो यह काम करना चाहिए।