Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 创建动态数据库并运行现有迁移laravel_Database_Laravel_Migration - Fatal编程技术网

Database 创建动态数据库并运行现有迁移laravel

Database 创建动态数据库并运行现有迁移laravel,database,laravel,migration,Database,Laravel,Migration,我有一个应用程序,管理员可以创建新用户,创建新用户后,我想为每个创建的用户创建单独的数据库,我在用户应用程序中有一些迁移(表)。所以在创建新数据库之后,我无法在新数据库中运行用户迁移 DB::statement('create database ' .$dbName ); // with this I'm creating new db and after this I've some command like this: Artisan::call('migrate', ['--datab

我有一个应用程序,管理员可以创建新用户,创建新用户后,我想为每个创建的用户创建单独的数据库,我在用户应用程序中有一些迁移(表)。所以在创建新数据库之后,我无法在新数据库中运行用户迁移

 DB::statement('create database ' .$dbName ); // with this I'm creating new db and after this I've some command like this:
 Artisan::call('migrate', ['--database' => $new_connection]);*
它正在创建数据库,但没有在此数据库中创建任何迁移。请帮我做这件事

示例代码:

if (DB::statement('create database ' . $dbName) == true) {
    $new_connection = 'new';
    $nc = \Illuminate\Support\Facades\Config::set('database.connec‌​tions.' . $new_connect‌​ion, [
        'driver'   => 'mysql',
        'host'     => 'localhost',
        'database' => $dbName,
        'username' => 'root',
        'password' => '',
    ]);
    Artisan::call('migrate', ['--database' => $nc]);
} else {
    return 'db already exists!';
}
首先,
Config::set()
不返回任何内容

代码正常工作的原因是您没有传递连接的名称,在您的示例中,该名称存储在
$new\u connection

将您的artisan命令更改为:

Artisan::call('migrate', ['--database' => $new_connection]);
希望这有帮助

首先,
Config::set()
不返回任何内容

代码正常工作的原因是您没有传递连接的名称,在您的示例中,该名称存储在
$new\u connection

将您的artisan命令更改为:

Artisan::call('migrate', ['--database' => $new_connection]);

希望这有帮助

为什么要创建特定于用户的数据库,而不是仅在相关表上使用引用
user\u id
?我想要这样的功能,因此我为每个用户使用单独的数据库来实现。要实现这一点,您不需要有多个数据库,实际上,您可能会遇到一些问题!在我看来,仅仅使用表之间的关系会更好。我并不是说这是居高临下,但你知道数据库设计中的
一对一
一对多
,和/或
多对多
关系吗。是的,我知道这些关系,但有些表中有一些动态字段,所以,要显示包含每个用户创建的动态字段的表,我必须为每个用户创建单独的数据库。明白了,对吧?好的,我明白了!!!你能至少展示一下你的代码的其余部分吗,即你如何设置连接等?为什么你想创建特定于用户的数据库,而不是仅仅在相关表上使用引用
user\u id
?我想要这样的功能,所以我正在为每个用户实现单独的数据库。要实现这一点,你不需要多个数据库,事实上,这样做可能会遇到一些问题!在我看来,仅仅使用表之间的关系会更好。我并不是说这是居高临下,但你知道数据库设计中的
一对一
一对多
,和/或
多对多
关系吗。是的,我知道这些关系,但有些表中有一些动态字段,所以,要显示包含每个用户创建的动态字段的表,我必须为每个用户创建单独的数据库。明白了,对吧?好的,我明白了!!!你能至少展示一下你的其他代码吗,比如你是如何建立连接的?这是否回答了你的问题@Chiru?这是否回答了你的问题@Chiru?