我正在寻找一种构建开发架构的方法。只有我不知道最好的实践。
注意:我正在使用symfony框架
想象一下,你有多个网站,所有这些网站都必须拥有自己的数据库和cms。但是当您需要更改数据库中的列时,您需要将其更改为所有DBS。或者是否有一个中央数据库,您可以根据company_id保存数据。
如何处理代码可重用性。例如,我为网站1创建了一项新功能,如何在不更新所有网站的情况下为所有其他网站提供此功能。
我认为你们的合作开发者可以帮我解决上述问题。
答案 0 :(得分:1)
为每个单独的站点分别使用DB的方法有两个主要好处:弹性和灵活性。
如果您的某个项目遭到入侵并且有人能够破坏数据库,则该人员将无法关闭整个基础架构。在UPDATE
查询中进行次要操作的开发人员也不会影响其他网站。
当您的某个网站意外增长时,使用单独的数据库将其迁移到其他硬件非常简单。
至于结构更新,无论如何都应记录这些SQL更改,因此每个项目都应该有一些迁移脚本来执行此操作。然后,这些脚本可以由自动部署代码执行。
至于代码可重用性......那么......你应该将这些可重用的片段分离到它们自己的库中,然后放在你的私有存储库中,然后使用composer's configuration连接它们。这样,您可以逐步和一次性地推出更改。