Laravel
CodeBehindで新しいデータベースを作成する方法はありますか?つまり、私はphp artisan
などを使用することができません。登録したユーザーごとにデータベースを作成したいからです。その後、migration
を使用できます。 私はLaravel 5.2
を使用しています。 ご支援いただきありがとうございます。モデル上のLaravelで新しい空データベースを作成する方法
答えて
まあ、bdごとにデータベースクエリを実行し、mysqlまたはsgbdデータベース作成コマンドを使用することもできます。
DB::getConnection()->statement('CREATE DATABASE :schema', array('schema' => "dasdsdasdsadsadsa"))
おそらくあなたが望むもので動作します。
はい、それは簡単で、私の問題を解決しました。あなたと私の質問に答えてくれたり、コメントしたりしてくれてありがとう。 –
あなたは大歓迎です。楽しい時間をお過ごしください。 –
run artisan commands from codeとすることができます。
Artisan::call('migrate');
PHP shell_exec
を使用し、(あなたが移行を登録することが必要です)作曲のコマンドを実行するには:
shell_exec('composer dumpauto');
私はこれを試しますが、今はしません。 –
あなたはこのようにDBのファサードを使用してデータベースを作成することができます(SQLのユーザーが持って提供これを行うには権利):
DB::statement('CREATE DATABASE myNewDB');
しかし、私はあなたのデータ構造を再考するあなたを促すだろう - すべてのユーザー用に別のデータベースを持つことが、おそらく何に適切なソリューションではありませんこれまで解決していた問題より多くの問題を生み出す可能性があります。
あなたのアドバイスありがとう、私はあなたに同意する、それは少し複雑です。しかし、すべてのユーザーにDBを作成する必要があります。実際にはユーザーはユーザーではありません。ユーザーは会社です。だから、企業は多くのデータを持っている。私は1つのDBにそれらを保持することはできません。ところで、それは質問です。私はlaravelの初心者です。どこでこのコードを実行しますか。それはコントローラかモデルですか? –
あなたには決まります。コントローラ内のコードをうまく再利用することはできないため、一般的にlaravelコントローラにはあまりにも多くのロジックを入れたくありませんが、このデータベースの作成が1か所でしか行われないと、それを取り除くことができます。さもなければ、私はオブジェクト指向のアプローチに行き、$ company-> createDatabase()などの適切なエンティティモデルのメソッドとしてデータベース作成を行います。 –
あなたはこの
public function index() {
$userName = 'bigboytr'; // Your Database name to be created
DB::statement("CREATE DATABASE $userName");
}
警告のようなDBNAMEを渡すことにより、コントローラからできるだけ多くのデータベースを作成することができます:あなたはそれを作るだろうとユーザーごとに1つのデータベースを作成する必要はありません
システムは非常に複雑です。 。
私はあなたそれを作成することをお勧め何を:あなたは、いくつかのケースでは、ユーザーの数千を持っている場合はexは、その後、登録ユーザー「一般」のデータベースにユーザーの情報を移動する
勧告非常に厳しいだろう登録されていないユーザーのために新しいテーブルを作成し、登録されたユーザーのテーブルに移動することができます。これにより、プロセスが簡単になります。
ヒント:
あなたは、いくつかのテーブル内の各ユーザーのために、あなたはそれのためのデータベースを作成したい、データベースエンジンを比較してもthis
- 1. Laravelで新しいモジュールを作成する方法
- 2. djangoで新しいモデルとフィールドを作成する方法は?
- 3. カスタムモデルイベントを作成する方法laravel 5.1?
- 4. Django:新しいモデル用のContentTypesの作成をトリガーする方法は?
- 5. 新しいクラスをlaravelで作成する5.2
- 6. テスト時にLaravelデータベースを作成する
- 7. レールでモデルを作成する方法
- 8. Laravel:モデルと従属モデルを同時に作成する
- 9. intellijアイデアの空のデータベースに新しいテーブルを作成できません
- 10. C#ドライバを使用してMongoDBに新しいデータベースを作成する方法
- 11. 新規作成時にモデルIDを取得する方法は?
- 12. DataContextにモデルを接続してデータベースを更新する方法
- 13. リモートWebサーバー上でJavaを介してアンドロイドアプリケーションのデータベースを作成する方法
- 14. laravel-5モデルで2つ以上のテーブルを使用する方法
- 15. ASP.Netアプリケーションから新しいデータベースを作成する推奨される方法
- 16. データベースをC++で作成する方法
- 17. DynamoDBでデータベースを作成する方法
- 18. Laravel 5.2条件でフォームを更新する方法ファイルフォームが空白ですか?
- 19. Laravel 5.2の@section( 'content')が作成ルート上で動作しないようです。
- 20. モデルの一覧を読み、新しい作成をブロックする
- 21. ワードプレスで自分の新しいプラグインを作成する方法
- 22. 別のビューで新しいコンソールを作成する方法
- 23. IEのブラウザで新しいFormData()を作成する方法
- 24. ラリーで新しいユニットを作成してカスタマイズする方法
- 25. ストアドプロシージャを作成してデータベースを作成する方法
- 26. フォームビルダーを作成し、バックエンドを実装する方法PHP Laravel MYSQL
- 27. Laravel Eloquent ORMを使用してステートメントを作成する方法
- 28. Laravel 5.2移行からデータベースを作成
- 29. efデータベースからモデルを更新するとき、新しいDomainServiceファイルを再作成せずにDomainServiceを更新する方法は?
- 30. Javaで空のマップを作成する最も良い方法
のようなあなたの試合のための最高の選択、そうすることができますか? –
はい、登録されたユーザーをストアするための一般的なデータベースがあります。しかし、私はすべてのユーザーに新しいdbが必要です。 –
この種のソリューションは「マルチテナント」と呼ばれています。マルチテナントデータアーキテクチャ(https://msdn.microsoft.com/en-us/library/aa479086.aspx) – UselesssCat