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(...);