0

我一直在从事一些 PHP 项目(网站、轮询脚本、AMQP 服务等),并且都与每个项目相关,因此数据库模式中有一些重叠。到目前为止,我一直在使用 Doctrine DBAL 来生成我的模式(使用 SchemaManager)和通过(非 ORM)实体和存储库类进行数据访问。

我的问题是关于找到一种更好的做法来在我的平台上存储/共享与数据库相关的对象。

例如,该项目的网站端当前包含几个所需表的架构,这提供了在我启动另一个实例服务器时自动构建我的表的好处。在一个单独的项目中,我构建了一个监控服务,并在该项目中定义了存储设置所需的表。这一切看起来都很好,但是我现在希望在网站上建立一个管理页面,它允许我更新监控服务表中的记录。

我真的不想将监控系统代码包含到网站代码库中(通过作曲家),只是为了共享存储库和架构,所以我正在寻找更好安排的想法。

我的第一个想法是创建一个单独的“共享模式”项目,其中包括系统范围的数据库类,因此我的所有模式文件、存储库和实体都位于一个位置,但是我不确定这是否明智。我担心的是,如果我通过作曲家将其加载到所有项目中,那么每次我更改架构等中的某些内容时,我最终将不得不更新几个项目。

如果您对如何最好地处理这种情况有任何具体问题或建议,请告诉我。

谢谢

4

0 回答 0