2017-10-06 18 views
3

私はNodeにとって非常に新しいので、ORMとSequelizeの仕組みについて頭を下げています。私はSequelizeのウェブサイトにいて、接続文字列をコピーし、自分のデータベースで動作するように変更しました。ファイルを実行すると、データベースにテーブルを作成してもOKですが、 "文字列ベースの演算子は廃止されました。より良いセキュリティのためにSymbolベースの演算子を使用してください.... node_modules/sequelize/lib/sequelize。 js:236:13 "なぜ私は新しいパッケージとしてこれをインストールし、ドキュメントから接続文字列を使用したので、このエラーメッセージを前提とした違法オペレータの使用を避けているのはなぜですか?私はちょうど使用したコードに反映されていません。Sequelize推奨されていないエラーメッセージ

私はエラーを引き起こしている私のアプリファイルを含んでいます、それはおそらくこれを引き起こすパスワードです。

const express = require('express'); 
const app = express(); 

const Sequelize = require('sequelize'); 

const db = new Sequelize('myDBName', 'mYuSeRnAmE', 'mYpAsSw!ORd$', { 
host: 'mySqlserverName', 
    dialect: 'mssql', 

    pool: { 
    max: 5, 
    min: 0, 
    idle: 10000 
    }, 

}); 


var Article = db.define('Article', { 
    title: Sequelize.STRING, 
    body: Sequelize.TEXT 
}); 

db.sync(); 

module.exports = app; 

****編集****

私は、私は他の誰かが問題に走るだけで包み、この答えを任せる、それを考え出しました。接続のエラーメッセージを取り除くには、{operatorsAliases:false}を含める必要があります。

+0

解決策を質問に入力するのではなく、以下の**実際の回答**を書き留めてください。それ以外の場合、ユーザーはおそらくあなたの編集を見て、見ていないでしょう。 user3139574の答えが同じであることを考えれば、正解としてそ​​れを受け入れupvoteすることさえできます。 – zero298

答えて

7

これらは、私は、この廃止の警告のために発見された最良説明した:「operatorsAliases:偽」を追加

https://github.com/sequelize/sequelize/issues/8417

http://docs.sequelizejs.com/manual/tutorial/querying.html#operators-aliases

は自分のアプリケーションに警告メッセージを無効にしました。

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

注:[email protected]の時点で、Sequelizeから「無効な値」エラーが発生し始めました。私は、シンボルオペレータを有効にするために次のコードを使用しました。

const Sequelize = require('sequelize') 
const Op = Sequelize.Op 
const sequelize = new Sequelize(
    DB_NAME, 
    USERNAME, 
    PASSWORD, 
    { 
    host: HOSTNAME, 
    dialect: 'mysql', 
    logging: false, 
    freezeTableName: true, 
    operatorsAliases: { 
     $and: Op.and, 
     $or: Op.or, 
     $eq: Op.eq, 
     $gt: Op.gt, 
     $lt: Op.lt, 
     $lte: Op.lte, 
     $like: Op.like 
    } 
    } 
) 
関連する問題