mongodb – Loopback JS:重命名现有模型

我正在使用Loopback API框架,这是一个很新的东西.

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

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

关联model.json

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

在不丢失数据的情况下重命名/重构模型的最佳方法是什么?我认为最好的方法是登录Mongo shell并手动重命名,但我不能挖掘任何会告诉我的东西.

最佳答案 将我之前的评论放在答案中并添加一点……

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

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

或者,您可以保留数据库结构,只需在LoopBack方面重命名模型,但您仍需要在LoopBack中使用自定义外键名称并使用data source specific options更新模型配置.

点赞