0
我希望動態地創建新數據庫,具有特權的數據庫用戶和密碼,併爲每個新用戶在Laravel 4中實時創建新數據庫中的某些表。這是針對多租戶網站的。在Laravel 4中快速創建新數據庫4
什麼是最好的解決方案?
謝謝。
我希望動態地創建新數據庫,具有特權的數據庫用戶和密碼,併爲每個新用戶在Laravel 4中實時創建新數據庫中的某些表。這是針對多租戶網站的。在Laravel 4中快速創建新數據庫4
什麼是最好的解決方案?
謝謝。
這不是你的第一個數據庫連接很容易,但你必須執行原始的語句,因爲數據庫的建立是沒有可用的連接方法:
DB::statement(DB::raw('CREATE DATABASE <name>'));
要做到這一點,您可以使用輔助連接:
<?php
return array(
'default' => 'mysql',
'connections' => array(
'mysql' => array(
'driver' => 'mysql',
'host' => 'host1',
'database' => 'database1',
'username' => 'user1',
'password' => 'pass1'
),
'store' => array(
'driver' => 'mysql',
'host' => 'host2',
'database' => 'database2',
'username' => 'user2',
'password' => 'pass2'
),
),
);
然後你可以在應用程序的引導,改變輔助連接的數據庫:
DB::connection('store')->setDatabaseName($store);
或
Config::set('database.connections.store', $store);
並使用在查詢輔助連接:
$user = User::on('store')->find(1);
或
DB::connection('store')->select(...);