Sequelizeで”Please use Symbol based operators…”のエラーが消えないときの対処方法

Sequelizeを読み込んだときに以下のエラーメッセージが出ることがあります。

“String based operators are now deprecated.Please use Symbol based operators for better security ….node_modules/sequelize/lib/sequelize.js:236:13”

内容としては「where句でStringのオペレーターではなくSymbolのオペレーターを使いましょう、その方がセキュリティ的にベターだからね。」という内容なのですが、where句にオペレーターを使用していない場合でも出てきてしまい困っていました。

解決方法を見つけました。

https://stackoverflow.com/questions/46608382/sequelize-deprecated-error-message?rq=1

const Sequelize = require('sequelize')
const sequelize = new Sequelize(
  DB_NAME,
  USERNAME, 
  PASSWORD,
  {
    host: HOSTNAME,
    dialect: 'mysql',
    logging: false,
    freezeTableName: true,
    operatorsAliases: false
  }
)

読み込む際に operatorsAliases: false を指定しておけばよかったんですね。これはわからん。

Stringが廃止されたらエラーメッセージもなくなるのでこういう工夫も不要になるでしょう。

終わり

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です