Laravel 如何像旧数据库一样实时创建数据库以及如何访问该数据库
Laravel How to create database on real time and like same as old database and how to access that databse
我的项目需要多数据库概念。我实时创建用户,自动为该新用户创建新数据库。新用户登录切换到主数据库到用户数据库。如何做到这一点。我正在尝试 larval 5.4 版本。
1.如何为新用户实时创建数据库?
2.如何将用户登录master数据库切换到用户数据库?
您可以创建模式并实时迁移它们,我之前在一个项目中已经完全这样做了。使用以下
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 使它们独一无二。
它非常复杂,有很多动人的部分,但这会让你入门。
我的项目需要多数据库概念。我实时创建用户,自动为该新用户创建新数据库。新用户登录切换到主数据库到用户数据库。如何做到这一点。我正在尝试 larval 5.4 版本。
1.如何为新用户实时创建数据库?
2.如何将用户登录master数据库切换到用户数据库?
您可以创建模式并实时迁移它们,我之前在一个项目中已经完全这样做了。使用以下
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 使它们独一无二。
它非常复杂,有很多动人的部分,但这会让你入门。