首页 > 解决方案 > 无法使用 LoopBack 4 创建 BLOB/二进制类型

问题描述

我正在尝试将Loopback用于我的新项目,但我一直面临一些问题......

我习惯将我的 UUIDs ID 以二进制格式存储在我的数据库中,这是一个示例:

@model({
  settings: { mysql: { table: 'application' } },
})
export class Application extends Entity {
  @property({
    type: 'buffer',
    required: true,
    generated: false,
    id: true,
    dataLength: 16,
  })
  id: BinaryType;
 [...]
}

但是当我尝试这样做时migration,我收到了来自以下的错误mysql

"BLOB/TEXT column 'id' used in key specification without a key length"

我真的尝试了一切,但没有任何效果。希望你能帮助我!

非常感谢!

标签: mysqlbinaryblobloopbackjsloopback4

解决方案


我将展示我提出的这个问题的答案。

只需model使用以下信息定义您的:

  @property({
    required: true,
    mysql: {
      columnName: 'application_id',
      dataType: 'VARBINARY',
      dataLength: 16,
      nullable: 'NO'
    }
  })
  application_id: string;

它对我来说就像一个魅力:)

谢谢你们!


推荐阅读