我们有一个laravel应用程序,我们通过API调用将ERPNext集成到该应用程序。
我们为ERPNext生产环境添加了一些定制,以配合我们对laravel应用程序所做的更改。问题是,我们有laravel应用程序的版本控制,但没有ERPNext实例的版本控制。因此,大多数时候,我们只是在开发时以生产ERPNext为目标,因为我们现在只通过API检索数据。但现在我们实现了将POST/UPDATE转换为Erpnext的功能,我们不能(也不应该(再这样做了。一个版本如何控制(通过git(ERPNext实例或应用程序?
我们对ERPNext 所做的更改
- 新文档类型
- 现有文档类型中的自定义字段
- API端点所针对的自定义脚本,或由某些其他事件(如更新记录(运行的自定义脚本
您可以始终对fork ERPNext进行git,在该fork中进行更改,并将该fork部署用于生产目的。在git中,保持fork的最新状态很简单,至少对于关键的修复,或者可能是周期性的。
但根据你列出的变化,也许拥有一个单独的应用程序是更好的选择。这将使您的所有更改保持在一起,并简化双方的升级,即代码和ernext。
frappe框架和ernext有很多方法可以提取逻辑(钩子、使用fixture自定义doctype、python或javascript中的覆盖(,尽管有时需要耐心研究才能找到最佳方法。