问题描述
我们有一个 Laravel 应用程序,我们通过 API 调用将 Erpnext 集成到该应用程序中。
我们为 Erpnext 生产环境添加了一些自定义设置,以配合我们对 Laravel 应用程序所做的更改。事实是,我们对 laravel 应用程序有版本控制,但对我们的 Erpnext 实例没有。所以大多数时候我们只是在开发时针对生产 Erpnext,因为我们现在只通过 API 检索数据。但是现在我们实现了将 POST/UPDATE 发送到 Erpnext 的功能,我们不能(也不应该)再这样做了。一个版本如何控制(通过 git)Erpnext 实例或应用程序?
我们对 Erpnext 所做的更改
解决方法
您始终可以 git fork ERPNext,在该 fork 中进行更改并部署该 fork 以用于生产目的。在 git 中保持 fork 是最新的很简单,至少对于关键的修复或者可能是定期的。
但是根据您列出的更改,也许拥有一个单独的 APP 是更好的方法。这样可以将您的所有更改放在一起,并简化双方的升级,包括您的代码和 erpnext。
frappe 框架和 erpnext 有很多方法来提取您的逻辑(钩子、使用fixture 自定义文档类型、python 或 javascript 中的覆盖),尽管有时需要耐心研究才能找出最佳方法。