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

时间:2018-10-15 18:59:43

标签: node.js v4l2loopback

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

2 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:0)

在LB4中,这是将模型映射到数据库表的最简单方法,即它们的名称不同。我发现此LB4问题表明不支持LB3“选项”模型语法,并提供了与我在下面提供的示例类似的示例:https://github.com/strongloop/loopback-next/issues/2134

例如,假设您的Entity类命名为Person,并且其数据存在于名为Contacts的数据库表中。使用LB4模型语法在模型定义中指定db表-

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

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