如果我有两个或更多域名和一个数据库,如何设计数据库并组织数据?所有网站都是为电子商务目的而设立的,每个网站都可以销售一种商品。因此,我只有两个想法:
- 我需要在几乎每个表中创建一个额外的字段(site_id)并复制数据。
- 我需要创建一个包含所有其他表中的site_id信息的表。
这两个想法都有很大的缺陷。有什么好的想法吗?谢谢。
如果我有两个或更多域名和一个数据库,如何设计数据库并组织数据?所有网站都是为电子商务目的而设立的,每个网站都可以销售一种商品。因此,我只有两个想法:
这两个想法都有很大的缺陷。有什么好的想法吗?谢谢。
很可能在您的模式中有一小部分表格链接到所有其他表格。您需要将site_id放入这些表格中,而不是数据库中的每个表格。
举个(高度虚构的)例子,如果我的模式包括客户表、发票表和发票行项目表,我不需要在这三个表格中都有site_id。我只需要在客户表格中有一个site_id即可。
我认为WordPress和Drupal使用的方法之一是给表格加上前缀:
dom1_Customers
dom2_Customers
这样表格就不会失控,也不需要维护额外的site_id索引。话虽如此,您的代码必须进行相应的补偿,这可能需要一些重新调整(如果没有某些恶意存储过程的话)。
多数据库是否不可行?它似乎是最简单和最干净的方法,您不可能混淆一个租户的数据与另一个租户的数据。您需要一个主数据库来存储租户信息,以及每个租户一个数据库。