我正在使用 Loopback API 框架,它很新。

我有一个以前由 Loopback 创建的现有模型,我们称之为 OldModelName 。我想将其重命名为 NewModelName

我已经有现有数据并且多个其他模型已经引用了它:

相关模型.json

  "relations": {
    "oldModel": {
      "type": "belongsTo",
      "model": "OldModelName",
      "foreignKey": ""
    }
  }

在不丢失数据的情况下重命名/重构模型的最佳方法是什么?我认为最好的方法不是登录到 Mongo shell 并手动重命名所有内容,但我无法挖掘出任何可以告诉我的信息。

最佳答案

将我之前的评论放在答案中并添加更多...

没有简单的方法可以做到这一点,您只需要检查所有配置文件并更新名称。 (这包括 common/models 中的那些,但也包括 server/model-config.json 以及您按名称引用模型的任何其他地方)

如果您已经永久存储了数据,那么您的问题就更大了。例如,如果是 MySQL,您需要重命名外键字段并更新任何 FK 限制或触发器。如果是 Mongo,您将需要扫描相关连接以重命名该 FK 对象属性。

或者,您可以保留 DB 结构并仅在 LoopBack 一侧重命名模型,但您仍然需要在 LoopBack 中使用自定义外键名称并使用 data source specific options 更新模型配置。

关于mongodb - 环回 JS : Rename Existing Model,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35055372/

10-13 01:18