我正在使用 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/