sql >> データベース >  >> RDS >> PostgreSQL

SequelizeモデルでPostgresで生成された列を使用する

    SequelizeがreadOnlyフィールドと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()を使用するときに、postgresで列が正しく生成されます。 、およびgeneratedValueの設定を防止します エラーをスローしてJavaScriptで。

    https://sequelize.org/master/manual/model-instances.html#change-awareness-of-save 、それならうまくいくはずです。




    1. MySQLは各グループの上位の結果を見つけます

    2. MySQLで文字セットを変更することによる潜在的な障害はありますか?

    3. 大規模なクエリ後にpsycopg2がメモリリークしている

    4. SQL Server(localdb)\v11.0の説明