DeprecationWarning:布尔值已传递给 options.operatorsAliases。这是 v5 的无操作,应删除

Posted

技术标签:

【中文标题】DeprecationWarning:布尔值已传递给 options.operatorsAliases。这是 v5 的无操作,应删除【英文标题】:DeprecationWarning: A boolean value was passed to options.operatorsAliases. This is a no-op with v5 and should be removed 【发布时间】:2020-02-23 20:28:48 【问题描述】:

我在使用 Sequelize 的 expressJs 上遇到错误

DeprecationWarning: A boolean value was passed to options.operatorsAliases. This is a no-op with v5 and should be removed.

有办法解决这个问题吗?

【问题讨论】:

【参考方案1】:

这不是一个错误,它只是一个警告,说明将布尔值传递给operatorsAliases 续集options 将在v5 中被弃用。

要删除警告,请将布尔值替换为 '1''0' 分别表示 true 和 false。

【讨论】:

@leochet 我已将布尔值更改为整数,但仍然显示相同的错误。 @Rabbani_ 你使用的是整数还是包含数字的字符串? 我使用的是整数。 你需要一个字符串 据我测试,这是合适的答案。但是,如果您使用日志记录选项,则应将其设为 0(整数),而不是 '0'(字符串),否则将引发错误。您应该更改您提供的所有选项,以将布尔类型的选项续集为 0(如果为假)和 1(如果为真)【参考方案2】:

根据我的经验

转到您的文件

app\models\index.js

const sequelize = new Sequelize(
...
    operatorsAliases: 0, // change this to zero

...
);

再次运行

"node server.js"

【讨论】:

谢谢可能不是最好的解决方案,但让我注意到这是指什么。【参考方案3】:

operatorsAliases 作为布尔值不再存在。如果您之前只是将其设置为 false,则可以从配置中完全删除 operatorsAliases。它仅作为向后兼容选项存在。

【讨论】:

【参考方案4】:

转到 app\models\index.js 并将 operatorsAliases false 更改为零

const sequelize = new Sequelize(
    operatorsAliases: 0, // change false to zero

【讨论】:

以上是关于DeprecationWarning:布尔值已传递给 options.operatorsAliases。这是 v5 的无操作,应删除的主要内容,如果未能解决你的问题,请参考以下文章

警告:值已定义但从未使用过;考虑用布尔测试替换

使用构造函数将数组传递给对象后,值已更改(在 c++ 中)。我想不通为啥

如何断言哪个值已传递给 <li> 键属性以与 jest 和 testing-library/react 反应

朴素贝叶斯 scikit 学习警告“DeprecationWarning: Passing 1d arrays”

如何在意图之间传递布尔值

通过 PHP GET 传递布尔值