PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Gunakan kolom yang dihasilkan Postgres dalam model Sequelize

Hingga Sequelize mendukung bidang readOnly dan tipe data GENERATED, Anda dapat menyiasati Sequelize dengan tipe data khusus:

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')
    },
  },
})

Ini akan menghasilkan kolom dengan benar di postgres saat menggunakan sync() , dan mencegah pengaturan generatedValue di javascript dengan melempar Kesalahan.

Dengan asumsi bahwa sekuel tidak pernah mencoba memperbarui bidang jika tidak berubah, seperti yang ditentukan dalam https://sequelize.org/master/manual/model-instances.html#change-awareness-of-save , maka itu akan berhasil.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tanggal parsing dengan zona waktu berbeda

  2. Pemantauan PostgreSQL Penting - Bagian 3

  3. PostgreSQL 9.5:Sembunyikan kata sandi dari koneksi dblink

  4. Skrip Bash untuk menginstal PostgreSQL - Tidak berfungsi

  5. bagaimana cara awalan string sebelum urutan yang dihasilkan oleh postgresql?