[英]Laravel Multi-Tenancy Passport API : No Database Selected
Laravel 多租戶護照 API:未選擇數據庫
同時應用php artisan passport:install命令生成 OAuth_Client
將錯誤視為...
PDOException::("SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected")
2 C:\wamp64\www\vaistra\products\VSMS\vendor\laravel\framework\src\Illuminate\Database\Connection.php:458
PDO::prepare("insert into `oauth_clients` (`user_id`, `name`, `secret`, `redirect`, `personal_access_client`, `password_client`, `revoked`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?, ?, ?, ?, ?)")
我下面的代碼是.... 為安裝 Passport 創建了 PassportSeeder
數據庫\種子\PassportSeeder.php
<?php
use Illuminate\Database\Seeder;
use Laravel\Passport\Client;
use Laravel\Passport\PersonalAccessClient;
class PassportSeeder extends Seeder
{
public function run()
{
$client = Client::create([
'name' => 'Personal Access Client',
'secret' => config('passport.personal_access_client.secret'),
'redirect' => 'http://localhost',
'personal_access_client' => '1',
'password_client' => '0',
'revoked' => '0',
]);
PersonalAccessClient::create([
'client_id' => $client->id,
]);
}
}
配置\數據庫.php
'default' => env('DB_CONNECTION', 'tenant'),
'connections' => [
'tenant' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => null,
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'landlord' => [
'driver' => 'mysql',
'url' => env('LANDLORD_DATABASE_URL'),
'host' => env('LANDLORD_DB_HOST', '127.0.0.1'),
'port' => env('LANDLORD_DB_PORT', '3306'),
'database' => env('LANDLORD_DB_DATABASE', 'forge'),
'username' => env('LANDLORD_DB_USERNAME', 'forge'),
'password' => env('LANDLORD_DB_PASSWORD', ''),
'unix_socket' => env('LANDLORD_DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('LANDLORD_MYSQL_ATTR_SSL_CA'),
]) : [],
],
app\Providers\AuthServiceProvider.php
public function boot()
{
$this->registerPolicies();
Passport::hashClientSecrets();
Passport::routes();
}
在租戶連接中,數據庫設置為null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.