问题描述
我正在使用Spatie Laravel-multitenancy。通过以下代码,我将创建一个新的租户,然后是一个数据库,然后使用该软件包提供的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文件上的文件时,它可以工作。