生成:真在环回 4 中不起作用

generated: true not working in loopback 4

我是 Loopback 4 的新手,我创建了一个模型,然后将数据源连接到 MYSQL,然后是存储库,然后是控制器 (REST),然后我访问了 http://127.0.0.1:3000/explorer/#/TodoController 并转到了 POST 部分,然后尝试插入一些我得到的数据:

Unhandled error in POST /todos: 500 Error: ER_NO_DEFAULT_FOR_FIELD: Field 'id' doesn't have a default value.

我在互联网上搜索并发现 generated: true 自动递增 id 字段然后我 运行 npm run migrate 并再次在 POST 部分插入数据但又遇到了同样的错误。 我将 MYSQL-DB 中 idA.I(自动递增)字段更改为 true 然后它成功插入了数据。

我只想让 id 字段自动递增,我该怎么做。 我在 id 属性 下的 todo.model.ts 中尝试了 generated: true 但没有用。

@property({
  type: 'number',
  id: true,
  generated: true,
})
id?: number;

如果有人搞砸了这个问题,只需将 generated: true 移到 id: true 之前:

@property({
  type: 'number',
  generated: true,
  id: true,
})
id?: number;

一个很好的修复:)

我尝试了@ok 回答的方法,但它对我不起作用。

我正在使用 MySQL 数据库并且我需要将默认值设置为 0。那么问题就ok了。很奇怪。