【问题标题】:Spatie Laravel-multitenancy run migrate command after tenant create errorSpatie Laravel-multitenancy 在租户创建错误后运行迁移命令
【发布时间】:2021-02-24 05:06:49
【问题描述】:

我正在使用 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);
    }

【问题讨论】:

    标签: multi-tenant laravel-8 laravel-livewire


    【解决方案1】:

    这是一个 session_driver 问题。当我将会话驱动程序更改为 env 文件中的文件时,它可以工作。

    【讨论】:

      猜你喜欢
      • 2021-07-19
      • 2020-10-24
      • 2016-08-29
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      相关资源
      最近更新 更多