loopbackmysql连接器:位(1)始终为true

wbgh16ku  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(400)

我正在使用loopback 3.22和loopback connector mysql 5.3.1。
当我将环回配置为covert时 BIT(1) mysql列为 boolean 它总是回来 true ```
"isActive": {
"type": "Boolean",
"required": false,
"length": null,
"precision": 1,
"scale": null,
"mysql": {
"columnName": "is_active",
"dataType": "bit",
"dataLength": null,
"dataPrecision": 1,
"dataScale": null,
"nullable": "Y"
}
},

  1. 我在这里浪费了太多时间,我甚至试着用 `before save` 钩子,但列类型验证在此之前就开始了。
  2. 生成列类型 `Binary` 把问题推到最前端。
6mzjoqzu

6mzjoqzu1#

对于任何被困在这里的人,我都给他打了补丁 MySQL.prototype.fromColumnValue ,以便在修好之前让它工作

  1. let MySQL = require("loopback-connector-mysql/lib/mysql").MySQL;
  2. ...
  3. case 'Boolean':
  4. // extra case of Buffer(1)
  5. if (val instanceof Buffer && val.length === 1) {
  6. val = Boolean(val[0]);
  7. } else {
  8. // default case
  9. val = Boolean(val);
  10. }
  11. ...
dgiusagp

dgiusagp2#

这是loopback的mysql连接器的一个已知错误,请参阅以下github问题:https://github.com/strongloop/loopback-connector-mysql/issues/325

相关问题