2016-11-07 94 views
0

我刚刚在Laravel开发了一个Human Ressource WebApp。多应用程序体系结构和数据库

所以在这个应用程序中,我有我的用户数据库。

现在,我有2个旧应用程序,即将要重写/迁移到Laravel。

第一个是管理员工支付。

第二个应用程序用于监控我的销售队伍。

所以,基本上,我会基本上重写它们。

我的问题是关于建筑。我将开发这两款应用程序,分别在Lumen/Laravel中为每个应用程序分离API,然后分别在Angular2中编写客户端。

我将使用OAuth2.0在应用程序之间设置授权和范围。

现在,我的优柔寡断驻留在数据库部分。

我应该保持数据库分离,包括数据库在同一架构,或我应该如何处理我的数据库。

今天,我每个应用程序有1个DB,但是我也有冗余的用户:每个应用程序都与相同的用户一起工作,因此复制此信息。

现在,当在App1中创建用户时,它会调用API以在app2和app3中创建它。这不是很好,恕我直言。

所以,我想,我想有一个单一的用户数据库,但我真的没有这方面的经验:

  • 我应该提取到中央数据库用户的信息的所有用户,应该
  • 我应该保持用户的信息在我的数据库之间重复吗?
  • ,如果我把它放在3型动物DB,我应该怎么做连接,事务,外键等

我知道有没有1分的答案,这取决于我想要的东西,而这也是我的问题,我不知道我应该问什么问题做出我的决定?

重要的是要提到我没有太多的流量,最多1000个用户,他们都属于我的企业,它不会增加太多。所以,实际上,制作可升级的应用现在应该不是我的首要任务。

任何建议将不胜感激!

回答

0

由于您在应用程序之间共享数据库,所以通常的做法是将它放在相同的Laravel/Lumen应用程序中。

您可以实现这一目标的方式是分离路径组中的应用程序,为每个应用程序的控制器层次结构命名空间并在每个模型中声明您将用于此模型的连接。

这样,您可以对所有应用程序使用相同的数据库连接,并共享相同的数据,而无需复制它们。