Spatie Laravel-multitenancy 运行 租户创建错误后迁移命令
Spatie Laravel-multitenancy run migrate command after tenant create error
我正在使用 Spatie Laravel-多租户。使用以下代码,我正在创建一个新租户,然后是一个数据库,然后使用包提供的 artisan 命令迁移特定的租户数据库。一切正常。租户,数据库甚至迁移都已经完成。但是之后它显示如下错误。
我的代码
try {
if ($this->isTenantExists($this->domain)) {
throw new Exception("Error Processing Request", 1);
}
$tenant = Tenant::create([
'name' => $this->name,
'domain' => $this->domain,
'database' => $this->database,
]);
if ($this->isDatabaseExists($this->database)) {
throw new Exception("Error Processing Request", 1);
}
$charset = config("database.connections.mysql.charset", 'utf8mb4');
$collation = config("database.connections.mysql.collation", 'utf8mb4_unicode_ci');
config(["database.connections.mysql.database" => null]);
$query = "CREATE DATABASE IF NOT EXISTS $this->database CHARACTER SET $charset COLLATE $collation;";
DB::statement($query);
Artisan::call("tenants:artisan migrate --tenant={$tenant->id}");
} catch (\Throwable $th) {
Log::error($th);
}
这是一个 session_driver 问题。当我将会话驱动程序更改为 env 文件上的文件时它起作用了。
我正在使用 Spatie Laravel-多租户。使用以下代码,我正在创建一个新租户,然后是一个数据库,然后使用包提供的 artisan 命令迁移特定的租户数据库。一切正常。租户,数据库甚至迁移都已经完成。但是之后它显示如下错误。
我的代码
try {
if ($this->isTenantExists($this->domain)) {
throw new Exception("Error Processing Request", 1);
}
$tenant = Tenant::create([
'name' => $this->name,
'domain' => $this->domain,
'database' => $this->database,
]);
if ($this->isDatabaseExists($this->database)) {
throw new Exception("Error Processing Request", 1);
}
$charset = config("database.connections.mysql.charset", 'utf8mb4');
$collation = config("database.connections.mysql.collation", 'utf8mb4_unicode_ci');
config(["database.connections.mysql.database" => null]);
$query = "CREATE DATABASE IF NOT EXISTS $this->database CHARACTER SET $charset COLLATE $collation;";
DB::statement($query);
Artisan::call("tenants:artisan migrate --tenant={$tenant->id}");
} catch (\Throwable $th) {
Log::error($th);
}
这是一个 session_driver 问题。当我将会话驱动程序更改为 env 文件上的文件时它起作用了。