我在Laravel中创建了一个单独的集成目录/项目(我们将其称为project-Interface),并创建了新的数据库(我们将其称为DB-A)和3个新表(table-a
,{{1 }},table-b
)和table-c
命令以及与此模型相关的模型。
现在Laravel中有一个不同的项目(我们称其为project-Web),并且它拥有自己的数据库(我们将其称为DB-B)并创建了自己的表和模型(artisan migrate
, table-x
,table-y
)。
我需要执行以下操作:
table-z
的DB-B来保存一些
里面有细节吗?table-x
,table-a
和table-b
吗?table-c
中的project-Interface中添加更多列并使用它吗?我可以使用Project-Web的table-x
文件中的DB-B的现有DB连接并将其用于Project-Interface的env
文件中吗?
如果是,如果我是通过project-Interface创建的,它将在project-Web的DB-B中创建一个新表吗?这些变化还会反映在那里吗?另外,如果我从project-Interface在env
中创建了新列,那么该列会反映在project-Web中吗?
所以这里的目的是DB应该是相同的并且应该是通用的,其中应该包含其中的所有表,并且无论我从project-Interface还是project-Web进行的任何更改,它都应该使用DB-B
答案 0 :(得分:0)
一些答案:
似乎您在询问是否可以在项目A中写入数据库B。简短的回答是,如果可以连接到数据库B,则可以对其进行写入。数据库不知道您是从另一个Laravel项目还是另一个仓库中的项目进行连接-它仅了解数据库用户。
您还可以运行属于另一个项目的迁移,但是根据到目前为止的信息,我建议您不要这样做。我将在下面解释更多。
将列添加到不同的数据库听起来像是对问题2的重述,而我的回答将是相同的。
混合迁移存在的问题是第二个项目(project-Web)无法创建其所有表。这将增加以下方面的复杂性:
鉴于您想在两个项目之间进行一些通信,我想知道HTTP API是否正确?这将易于管理: