【问题标题】:Laravel How to create database on real time and like same as old database and how to access that databseLaravel 如何实时创建数据库,就像旧数据库一样,以及如何访问该数据库
【发布时间】:2017-06-16 04:39:50
【问题描述】:

我的项目需要多数据库概念。我实时创建用户,自动为该新用户创建新数据库。新用户登录切换到主数据库到用户数据库。如何做到这一点。我正在尝试 larval 5.4 版本。

1.如何为新用户实时创建数据库?

2.如何将用户登录主库切换到用户库?

【问题讨论】:

标签: database laravel multi-database


【解决方案1】:

您可以创建架构并实时迁移它们,我之前在一个项目中已经这样做了。使用以下

DB::connection('mydb')->statement(DB::raw('CREATE DATABASE....BLAH BLAH BLAH'))

执行原始查询以创建新数据库。您需要主连接来执行这些查询。

然后,您可以使用Artisan::call('migrate', ['--database' => 'newdb']) 进行迁移并选择播种它。

最后,您需要在数据库配置文件中有一个客户条目来确定用户连接到哪个架构,或者您可以使用Config::set(['my.user.db.config') 设置此实时。

我为客户创建唯一数据库的策略是使用 guid 作为数据库名称,并在我的主数据库中保留一个主日志。当用户登录时,将从 master 读取他们的数据库名称,然后应用程序将即时切换他的连接。我的公司有数百个小型客户数据库,其名称如 123151-2135151-5132123-545-231231 以保持它们的独特性。

它非常复杂,有很多动人的部分,但这会让你开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-02
    • 2017-12-21
    • 2021-06-14
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    相关资源
    最近更新 更多