我正在使用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更新模型配置.