2

私のプロジェクトにはマルチデータベースの概念が必要です。リアルタイムでユーザーを作成すると、その新しいユーザーの新しいデータベースが自動的に作成されます.その新しいユーザーのログインは、マスターデータベースからユーザーデータベースに切り替わりました..これを行う方法..幼虫5.4バージョンを試しています.

1.新しいユーザーのためにリアルタイムでデータベースを作成する方法は?

2.ユーザー ログイン マスター データベースをユーザー データベースに切り替える方法は?

4

1 に答える 1

1

スキーマを作成してリアルタイムで移行できます。私は以前、プロジェクトでこれを行ったことがあります。以下を使用します

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

新しいデータベースを作成するための生のクエリを実行します。これらのクエリを実行するには、マスター接続が必要です。

次に、使用Artisan::call('migrate', ['--database' => 'newdb'])して移行し、必要に応じてシードできます。

最後に、ユーザーが接続するスキーマを決定するデータベース構成ファイルに顧客エントリを含めるか、 を使用してこのリアルタイムを設定する必要がありますConfig::set(['my.user.db.config')

顧客のために独自のデータベースを作成するための私の戦略は、GUID をデータベース名として使用し、マスター データベースにそのマスター ログを保持することでした。ユーザーがログインすると、データベース名がマスターから読み取られ、アプリケーションがその場で接続を切り替えます。私の会社には、123151-2135151-5132123-545-231231 のような名前の小さな顧客データベースが何百もあります。

それは非常に複雑で、動く部分がたくさんありますが、それで始めることができます.

于 2017-06-16T05:32:36.230 に答える