Код: Выделить всё
Illuminate\Database\QueryException: SQLSTATE[55006]: Object in use: 7 FEHLER: auf Datenbank »tenant_019949ce« wird von anderen Benutzern zugegriffen
DETAIL: 1 andere Sitzung verwendet die Datenbank. (Connection: tenant_host_connection, SQL: DROP DATABASE "tenant_019949ce")
< /code>
Что означает, что таблица используется другим пользователем. Таблицы создаются при создании арендатора и должны быть удалены, если арендатор удаляется, но он всегда терпит неудачу в методе Teardown Мои тесты расширяют TenacyTestCase класс:
Код: Выделить всё
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
class TenancyTestCase extends BaseTestCase {
use RefreshDatabase;
private Tenant $tenant;
protected function setUp(): void {
parent::setUp();
Config::set('tenancy.seeder_parameters.--class', TestDatabaseSeeder::class);
$this->setupDefaultTenant();
$this->forceRootUrl();
$this->withoutVite();
}
private function setupDefaultTenant(): void {
$this->tenant = Tenant::factory()->create();
$this->tenant->domains()->save(Domain::factory([
'domain' => 'tenant',
])->make());
tenancy()->initialize($this->tenant);
}
private function forceRootUrl(): void {
$parsed = parse_url(config('app.url'));
$host = $parsed['host'] ?? 'localhost.test';
$port = isset($parsed['port']) ? ':' . $parsed['port'] : '';
URL::forceRootUrl('https://tenant.' . $host . $port);
}
public function tearDown(): void {
tenancy()->end();
$this->tenant->delete();
parent::tearDown();
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... ther-users
Мобильная версия