如何从数据库中删除环回模型和引用

How to remove Loopback model and references from database

我从我的应用程序中完全删除了一个模型:从 models 中删除了 model.jsmodel.json,删除了另一个模型中的关系,并从 model-config.json 中删除了它.

但是,为模型创建的 table 和其他模型中的列保留在数据库中(在所有环境中)。我试过自动迁移,但它们仍然存在。

我是否需要手动遍历所有数据库并手动删除 table 和列,或者我是否可以让 LB 以某种方式自行获取更改?

您是否考虑过使用内置 API? https://apidocs.strongloop.com/loopback/#app-deletemodelbyname

最终手动完成 - 在 3 个数据库中:(

我正在关闭问题,但如果有人有好的答案,我愿意重新打开。

Do I need to manually go through all databases and drop the table and column manually, or can I tell LB to pick up the changes on its own somehow?

LoopBack 无法检测删除了哪些模型并删除相应的数据库表。

正如您自己发现的那样,解决方案是遍历数据库并手动删除表。

顺便说一句,我不建议在生产环境中使用 LoopBack 的 autoupdate/automigrate 功能,并且强烈建议维护一组迁移脚本,例如在 Martin Fowler 的优秀文章中 Evolutionary Database Design.

LoopBack 尚不支持迁移脚本,但我们正在讨论如何为 LoopBack 4+ 实现它们,请参阅 https://github.com/strongloop/loopback-next/issues/487