对于我现在正在开发的企业应用程序框架,我正在寻找一种从开发人员的角度巧妙而简单地管理资产的方法。从本质上讲,该场景是通过 REST API 访问(例如,如果我想要要访问完整的应用程序“x”元数据,我可以导航到 /applications/x 并根据页面和每个页面的组件获取该应用程序的表示)。
除了我们所说的“组件”之外,没有任何代码(您可能会将它们视为可重用的 css+js+html 的捆绑包)。现在,问题是:我在数据库中有组件的元数据(例如,组件 ID、组件描述等),但组件代码也在版本控制系统(在我们的例子中为 SVN)下的文件系统上。这意味着组件信息同时在数据库和文件系统上。因此,例如,如果某个开发人员创建了一个组件(即,将代码提交到组件在文件系统上持久保存的特定文件夹),我需要让数据库知道有一个新组件,因此应该更新它。另一方面,如果 API 用于删除特定组件(例如 DELETE /components/componentId1),也会删除文件系统上的代码。
Someone would argue that code could be added as a blob to DB, but i still want to use a versioning system like SVN or GIT, so that is not an option. Also, working with code that is on a file system is much more simpler that code on a database.
So, my question is if you can provide me with some ideas, approaches, etc. to know how could be implemented a solution for managing these kind of assets that lives both on a database and on a file system, and should be consumed / modified / created both from a file system and a REST api.