如何在环回 4 上为模型设置 mysql table 名称?

How can I set the mysql table name for a model on loopback 4?

我知道默认情况下环回 4 从模型 class 或存储库 class 推断 mysql 数据库 table 的名称。 如何将 table 名称设置为自定义字符串值? 可能我必须使用装饰器,我在文档中找不到任何东西。 谢谢

在装饰器 @model 中,只需添加 属性 name 即可! 例如:

@model({
  name: 'sales_order'
})
export class Order extends Entity{
...
}

在 LB4 中,这是将模型映射到数据库的最干净的方法 table 当它们各自的名称不同时。我发现这个 LB4 问题指出 LB3 "options" 模型语法不受支持,并提供了一个类似于我在下面提供的示例:https://github.com/strongloop/loopback-next/issues/2134

例如,假设您的实体 class 名为 Person,其数据位于名为 Contacts 的数据库 table 中。使用 LB4 模型语法在模型定义中指定数据库 table -

@model({
  settings: {
    mysql: {
      schema: YOURSCHEMA,
      table: "Contacts"
    }
  }
})
export class Person extends Entity {...}

此代码段来自使用 MySql 数据库的工作示例。