Database Laravel如何实时创建数据库,以及如何访问该数据库

Database Laravel如何实时创建数据库,以及如何访问该数据库,database,laravel,multi-database,Database,Laravel,Multi Database,我需要我的项目多数据库的概念。我实时创建用户自动为新用户创建新数据库。新用户登录切换到主数据库到用户数据库。。如何做到这一点。。我正在尝试5.4版本 1.如何为新用户实时创建数据库? 2.如何将用户登录主数据库切换到用户数据库?您可以创建模式并实时迁移它们,我以前在项目中就已经这样做了。使用以下命令 DB::connection('mydb')->语句(DB::raw('CREATE DATABASE….BLAH BLAH')) 执行原始查询以创建新数据库。您需要主连接来执行这些查询 然后您可以

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

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


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

您可以创建模式并实时迁移它们,我以前在项目中就已经这样做了。使用以下命令

DB::connection('mydb')->语句(DB::raw('CREATE DATABASE….BLAH BLAH'))

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

然后您可以使用
Artisan::call('migrate',['--database'=>'newdb'])
进行迁移,并可以选择对其进行种子设定

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

我为客户创建唯一数据库的策略是使用guid作为数据库名称,并在我的主数据库中保留该名称的主日志。当用户登录时,他们的数据库名称将从主数据库中读取,然后应用程序将动态切换其连接。我的公司有数百个带有n的小型客户数据库像123151-2135151-513213-545-231231这样的艾姆斯保持了他们的独特性


这是一个非常复杂的问题,有很多活动,但这会让你开始。

这个答案对你很有用,