Laravel - 一次多个数据库[重复]

Posted

技术标签:

【中文标题】Laravel - 一次多个数据库[重复]【英文标题】:Laravel - Multiple Databases at Once [duplicate] 【发布时间】:2018-03-28 06:26:32 【问题描述】:

我正在创建一个 Laravel/最新版本的应用程序,该应用程序需要创建数百个 sql 表来完成这项工作。将再次在这些表中多次插入数百个客户端的数据(每个客户端 1000 行或更多行在某些表中)。为了消除混淆,我想要一个通用/通用数据库来存储公共信息,并为每个客户端提供单独的数据库以获取特定信息,并且希望在添加客户端时创建新数据库。这可以在 Laravel 中完成(一次处理多个数据库)还是有任何其他 php 框架可以更好地服务于这个目的?非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

嗯,大多数时候,这是一个架构缺陷,因为数据库设计得不好。通常,由于所有表都已标准化,因此会遇到此类问题。规范化适用于小型应用程序,但对于数据丰富的应用程序,您必须判断哪些字段需要规范化,哪些不需要规范化。您可以使用非规范化保存大量表和字段。根据经验,您不必直接或通过连接查询的任何内容都可以被非规范化。

无论如何,可以将多个数据库附加到单个 laravel 应用程序。我曾经在一个巨大的应用程序上这样做过。

所以我们的想法是,在每次 eloquent 查询之前,您必须设置数据库连接。

$someModel->setConnection('mysql2');

你可以找到更多关于它的信息here

【讨论】:

以上是关于Laravel - 一次多个数据库[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel多个数据库PHPUnit [重复]

laravel 使用多个数据库,查询语法 [重复]

在laravel中动态连接多个数据库[重复]

如何连接到 Laravel 中的另一个数据库(多个数据库 HUNDREDS)[重复]

使用 laravel 一次调用多个 API 资源

Laravel一次更新多个记录