mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 18:44:03 +00:00
[3.x] L10 compatibility (#1065)
* Bump dependencies for Laravel 10 * Update GitHub Actions for Laravel 10 * ci: do not test L10 using PHP 7.3 * drop < L9 support * use `dispatch_sync` instead of `dispatch_now` * migrate phpunit configuration * Update ci.yml * drop laravel < 9 support * misc L10 fixes, new docker image * specify odbc version * wip * properly list php versions as strings * minor changes * Add `getValue($queryGrammar)` to raw query * Clean up `isVersion8` code * rewrite hasFailed assertion * phpunit schema update * Upgrade `doctrine/dbal` --------- Co-authored-by: Samuel Štancl <samuel@archte.ch> Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com> Co-authored-by: lukinovec <lukinovec@gmail.com>
This commit is contained in:
parent
7d59ff180f
commit
d4a99011e6
15 changed files with 108 additions and 128 deletions
16
.github/workflows/ci.yml
vendored
16
.github/workflows/ci.yml
vendored
|
|
@ -5,9 +5,9 @@ env:
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ 3.x, 2.x ]
|
branches: [ 3.x ]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ 3.x, 2.x ]
|
branches: [ 3.x ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
tests:
|
tests:
|
||||||
|
|
@ -15,17 +15,17 @@ jobs:
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
php: ["7.3", "8.0"]
|
include:
|
||||||
laravel: ["^6.0", "^8.0", "^9.0"]
|
- laravel: 9
|
||||||
exclude:
|
php: "8.0"
|
||||||
- laravel: "^9.0"
|
- laravel: 10
|
||||||
php: "7.3"
|
php: "8.1"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Start docker containers
|
- name: Start docker containers
|
||||||
run: PHP_VERSION=${{ matrix.php }} docker-compose up -d
|
run: PHP_VERSION=${{ matrix.php }} docker-compose up -d
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: docker-compose exec -T test composer require --no-interaction "laravel/framework:${{ matrix.laravel }}"
|
run: docker-compose exec -T test composer require --no-interaction "laravel/framework:^${{ matrix.laravel }}.0"
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: ./test
|
run: ./test
|
||||||
|
|
|
||||||
68
Dockerfile
68
Dockerfile
|
|
@ -1,50 +1,42 @@
|
||||||
ARG PHP_VERSION=7.4
|
# add amd64 platform to support Mac M1
|
||||||
ARG PHP_TARGET=php:${PHP_VERSION}-cli
|
FROM --platform=linux/amd64 shivammathur/node:latest-amd64
|
||||||
|
|
||||||
FROM ${PHP_TARGET}
|
ARG PHP_VERSION=8.1
|
||||||
|
|
||||||
ARG COMPOSER_TARGET=2.0.3
|
|
||||||
|
|
||||||
WORKDIR /var/www/html
|
WORKDIR /var/www/html
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source=https://github.com/stancl/tenancy \
|
|
||||||
org.opencontainers.image.vendor="Samuel Štancl" \
|
|
||||||
org.opencontainers.image.licenses="MIT" \
|
|
||||||
org.opencontainers.image.title="PHP ${PHP_VERSION} with modules for laravel support" \
|
|
||||||
org.opencontainers.image.description="PHP ${PHP_VERSION} with a set of php/os packages suitable for running Laravel apps"
|
|
||||||
|
|
||||||
# our default timezone and langauge
|
# our default timezone and langauge
|
||||||
ENV TZ=Europe/London
|
ENV TZ=Europe/London
|
||||||
ENV LANG=en_GB.UTF-8
|
ENV LANG=en_GB.UTF-8
|
||||||
|
|
||||||
# Note: we only install reliable/core 1st-party php extensions here.
|
# install MYSSQL ODBC Driver
|
||||||
# If your app needs custom ones install them in the apps own
|
RUN apt-get update \
|
||||||
# Dockerfile _and pin the versions_! Eg:
|
&& apt-get install -y gnupg2 \
|
||||||
# RUN pecl install memcached-2.2.0 && docker-php-ext-enable memcached
|
&& curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
|
||||||
|
&& curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list \
|
||||||
|
&& apt-get update \
|
||||||
|
&& ACCEPT_EULA=Y apt-get install -y unixodbc-dev=2.3.7 unixodbc=2.3.7 odbcinst1debian2=2.3.7 odbcinst=2.3.7 msodbcsql17
|
||||||
|
|
||||||
|
# set PHP version
|
||||||
|
RUN update-alternatives --set php /usr/bin/php$PHP_VERSION \
|
||||||
|
&& update-alternatives --set phar /usr/bin/phar$PHP_VERSION \
|
||||||
|
&& update-alternatives --set phar.phar /usr/bin/phar.phar$PHP_VERSION \
|
||||||
|
&& update-alternatives --set phpize /usr/bin/phpize$PHP_VERSION \
|
||||||
|
&& update-alternatives --set php-config /usr/bin/php-config$PHP_VERSION
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends libhiredis0.14 libjemalloc2 liblua5.1-0 lua-bitop lua-cjson redis redis-server redis-tools
|
||||||
|
|
||||||
|
RUN pecl install redis-5.3.7 sqlsrv pdo_sqlsrv pcov \
|
||||||
|
&& printf "; priority=20\nextension=redis.so\n" > /etc/php/$PHP_VERSION/mods-available/redis.ini \
|
||||||
|
&& printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/$PHP_VERSION/mods-available/sqlsrv.ini \
|
||||||
|
&& printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/$PHP_VERSION/mods-available/pdo_sqlsrv.ini \
|
||||||
|
&& printf "; priority=40\nextension=pcov.so\n" > /etc/php/$PHP_VERSION/mods-available/pcov.ini \
|
||||||
|
&& phpenmod -v $PHP_VERSION redis sqlsrv pdo_sqlsrv pcov
|
||||||
|
|
||||||
|
# install composer
|
||||||
|
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
|
||||||
|
|
||||||
# install some OS packages we need
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev libgmp-dev libldap2-dev netcat curl sqlite3 libsqlite3-dev libpq-dev libzip-dev unzip vim-tiny gosu git
|
|
||||||
# install php extensions
|
|
||||||
RUN docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \
|
|
||||||
# && if [ "${PHP_VERSION}" = "7.4" ]; then docker-php-ext-configure gd --with-freetype --with-jpeg; else docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/; fi \
|
|
||||||
&& docker-php-ext-install -j$(nproc) gd pdo pdo_mysql pdo_pgsql pdo_sqlite pgsql zip gmp bcmath pcntl ldap sysvmsg exif \
|
|
||||||
# install the redis php extension
|
|
||||||
&& pecl install redis-5.3.7 \
|
|
||||||
&& docker-php-ext-enable redis \
|
|
||||||
# install the pcov extention
|
|
||||||
&& pecl install pcov \
|
|
||||||
&& docker-php-ext-enable pcov \
|
|
||||||
&& echo "pcov.enabled = 1" > /usr/local/etc/php/conf.d/pcov.ini
|
|
||||||
# clear the apt cache
|
|
||||||
RUN rm -rf /var/lib/apt/lists/* \
|
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
# install composer
|
|
||||||
&& curl -o /tmp/composer-setup.php https://getcomposer.org/installer \
|
|
||||||
&& curl -o /tmp/composer-setup.sig https://composer.github.io/installer.sig \
|
|
||||||
&& php -r "if (hash('SHA384', file_get_contents('/tmp/composer-setup.php')) !== trim(file_get_contents('/tmp/composer-setup.sig'))) { unlink('/tmp/composer-setup.php'); echo 'Invalid installer' . PHP_EOL; exit(1); }" \
|
|
||||||
&& php /tmp/composer-setup.php --version=${COMPOSER_TARGET} --no-ansi --install-dir=/usr/local/bin --filename=composer --snapshot \
|
|
||||||
&& rm -f /tmp/composer-setup.*
|
|
||||||
# set the system timezone
|
# set the system timezone
|
||||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
|
||||||
&& echo $TZ > /etc/timezone
|
&& echo $TZ > /etc/timezone
|
||||||
|
|
|
||||||
|
|
@ -10,19 +10,20 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
|
"php": "^8.0",
|
||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"illuminate/support": "^6.0|^7.0|^8.0|^9.0",
|
"illuminate/support": "^9.0|^10.0",
|
||||||
"facade/ignition-contracts": "^1.0",
|
"facade/ignition-contracts": "^1.0.2",
|
||||||
"ramsey/uuid": "^3.7|^4.0",
|
"ramsey/uuid": "^4.7.3",
|
||||||
"stancl/jobpipeline": "^1.0",
|
"stancl/jobpipeline": "^1.6.2",
|
||||||
"stancl/virtualcolumn": "^1.0"
|
"stancl/virtualcolumn": "^1.3.1"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"laravel/framework": "^6.0|^7.0|^8.0|^9.0",
|
"laravel/framework": "^9.0|^10.0",
|
||||||
"orchestra/testbench": "^4.0|^5.0|^6.0|^7.0",
|
"orchestra/testbench": "^7.0|^8.0",
|
||||||
"league/flysystem-aws-s3-v3": "^1.0|^3.0",
|
"league/flysystem-aws-s3-v3": "^3.12.2",
|
||||||
"doctrine/dbal": "^2.10",
|
"doctrine/dbal": "^3.6.0",
|
||||||
"spatie/valuestore": "^1.2.5"
|
"spatie/valuestore": "^1.3.2"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
|
|
@ -49,5 +50,10 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "dev",
|
||||||
"prefer-stable": true
|
"prefer-stable": true,
|
||||||
|
"config": {
|
||||||
|
"allow-plugins": {
|
||||||
|
"pestphp/pest-plugin": true
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
7
docker-compose-m1.override.yml
Normal file
7
docker-compose-m1.override.yml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
platform: linux/amd64
|
||||||
|
mysql2:
|
||||||
|
platform: linux/amd64
|
||||||
|
mssql:
|
||||||
|
image: mcr.microsoft.com/azure-sql-edge
|
||||||
67
phpunit.xml
67
phpunit.xml
|
|
@ -1,39 +1,32 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<phpunit backupGlobals="false"
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" bootstrap="vendor/autoload.php" colors="true" processIsolation="false" stopOnFailure="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd" cacheDirectory=".phpunit.cache" backupStaticProperties="false">
|
||||||
backupStaticAttributes="false"
|
<coverage>
|
||||||
bootstrap="vendor/autoload.php"
|
<include>
|
||||||
colors="true"
|
<directory suffix=".php">./src</directory>
|
||||||
convertErrorsToExceptions="true"
|
</include>
|
||||||
convertNoticesToExceptions="true"
|
<exclude>
|
||||||
convertWarningsToExceptions="true"
|
<file>./src/routes.php</file>
|
||||||
processIsolation="false"
|
<file>./src/Vite.php</file>
|
||||||
stopOnFailure="false">
|
</exclude>
|
||||||
<testsuites>
|
<report>
|
||||||
<testsuite name="Unit">
|
<clover outputFile="coverage/phpunit/clover.xml"/>
|
||||||
<directory suffix="Test.php">./tests</directory>
|
<html outputDirectory="coverage/phpunit/html" lowUpperBound="35" highLowerBound="70"/>
|
||||||
</testsuite>
|
</report>
|
||||||
</testsuites>
|
</coverage>
|
||||||
<filter>
|
<testsuites>
|
||||||
<whitelist processUncoveredFilesFromWhitelist="true">
|
<testsuite name="Unit">
|
||||||
<directory suffix=".php">./src</directory>
|
<directory suffix="Test.php">./tests</directory>
|
||||||
<exclude>
|
</testsuite>
|
||||||
<file>./src/routes.php</file>
|
</testsuites>
|
||||||
<file>./src/Vite.php</file>
|
<php>
|
||||||
</exclude>
|
<env name="APP_ENV" value="testing"/>
|
||||||
</whitelist>
|
<env name="BCRYPT_ROUNDS" value="4"/>
|
||||||
</filter>
|
<env name="CACHE_DRIVER" value="redis"/>
|
||||||
<php>
|
<env name="MAIL_DRIVER" value="array"/>
|
||||||
<env name="APP_ENV" value="testing"/>
|
<env name="QUEUE_CONNECTION" value="sync"/>
|
||||||
<env name="BCRYPT_ROUNDS" value="4"/>
|
<env name="SESSION_DRIVER" value="array"/>
|
||||||
<env name="CACHE_DRIVER" value="redis"/>
|
<env name="DB_CONNECTION" value="central"/>
|
||||||
<env name="MAIL_DRIVER" value="array"/>
|
<env name="AWS_DEFAULT_REGION" value="us-west-2"/>
|
||||||
<env name="QUEUE_CONNECTION" value="sync"/>
|
</php>
|
||||||
<env name="SESSION_DRIVER" value="array"/>
|
<logging/>
|
||||||
<env name="DB_CONNECTION" value="central"/>
|
|
||||||
<env name="AWS_DEFAULT_REGION" value="us-west-2"/>
|
|
||||||
</php>
|
|
||||||
<logging>
|
|
||||||
<log type="coverage-clover" target="coverage/phpunit/clover.xml" showUncoveredFiles="true"/>
|
|
||||||
<log type="coverage-html" target="coverage/phpunit/html" lowUpperBound="35" highLowerBound="70"/>
|
|
||||||
</logging>
|
|
||||||
</phpunit>
|
</phpunit>
|
||||||
|
|
|
||||||
|
|
@ -63,14 +63,11 @@ class QueueTenancyBootstrapper implements TenancyBootstrapper
|
||||||
static::initializeTenancyForQueue($event->job->payload()['tenant_id'] ?? null);
|
static::initializeTenancyForQueue($event->job->payload()['tenant_id'] ?? null);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (version_compare(app()->version(), '8.64', '>=')) {
|
$dispatcher->listen(JobRetryRequested::class, function ($event) use (&$previousTenant) {
|
||||||
// JobRetryRequested only exists since Laravel 8.64
|
$previousTenant = tenant();
|
||||||
$dispatcher->listen(JobRetryRequested::class, function ($event) use (&$previousTenant) {
|
|
||||||
$previousTenant = tenant();
|
|
||||||
|
|
||||||
static::initializeTenancyForQueue($event->payload()['tenant_id'] ?? null);
|
static::initializeTenancyForQueue($event->payload()['tenant_id'] ?? null);
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
// If we're running tests, we make sure to clean up after any artisan('queue:work') calls
|
// If we're running tests, we make sure to clean up after any artisan('queue:work') calls
|
||||||
$revertToPreviousState = function ($event) use (&$previousTenant, $runningTests) {
|
$revertToPreviousState = function ($event) use (&$previousTenant, $runningTests) {
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,8 @@ class ImpersonationToken extends Model
|
||||||
protected $primaryKey = 'token';
|
protected $primaryKey = 'token';
|
||||||
public $incrementing = false;
|
public $incrementing = false;
|
||||||
protected $table = 'tenant_user_impersonation_tokens';
|
protected $table = 'tenant_user_impersonation_tokens';
|
||||||
protected $dates = [
|
protected $casts = [
|
||||||
'created_at',
|
'created_at' => 'datetime',
|
||||||
];
|
];
|
||||||
|
|
||||||
public static function boot()
|
public static function boot()
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,8 @@ class PermissionControlledMySQLDatabaseManager extends MySQLDatabaseManager impl
|
||||||
|
|
||||||
protected function isVersion8(): bool
|
protected function isVersion8(): bool
|
||||||
{
|
{
|
||||||
$version = $this->database()->select($this->database()->raw('select version()'))[0]->{'version()'};
|
$versionSelect = $this->database()->raw('select version()')->getValue($this->database()->getQueryGrammar());
|
||||||
|
$version = $this->database()->select($versionSelect)[0]->{'version()'};
|
||||||
|
|
||||||
return version_compare($version, '8.0.0') >= 0;
|
return version_compare($version, '8.0.0') >= 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,11 +46,7 @@ class PostgreSQLSchemaManager implements TenantDatabaseManager
|
||||||
|
|
||||||
public function makeConnectionConfig(array $baseConfig, string $databaseName): array
|
public function makeConnectionConfig(array $baseConfig, string $databaseName): array
|
||||||
{
|
{
|
||||||
if (version_compare(app()->version(), '9.0', '>=')) {
|
$baseConfig['search_path'] = $databaseName;
|
||||||
$baseConfig['search_path'] = $databaseName;
|
|
||||||
} else {
|
|
||||||
$baseConfig['schema'] = $databaseName;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $baseConfig;
|
return $baseConfig;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
1
test
1
test
|
|
@ -1,3 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
cat vendor/laravel/framework/src/Illuminate/Foundation/Application.php | grep 'const VERSION'
|
||||||
docker-compose exec -T test vendor/bin/phpunit "$@"
|
docker-compose exec -T test vendor/bin/phpunit "$@"
|
||||||
|
|
|
||||||
|
|
@ -207,10 +207,6 @@ class BootstrapperTest extends TestCase
|
||||||
$disk = Storage::disk($disk);
|
$disk = Storage::disk($disk);
|
||||||
$adapter = $disk->getAdapter();
|
$adapter = $disk->getAdapter();
|
||||||
|
|
||||||
if (! Str::startsWith(app()->version(), '9.')) {
|
|
||||||
return $adapter->getPathPrefix();
|
|
||||||
}
|
|
||||||
|
|
||||||
$prefixer = (new ReflectionObject($adapter))->getProperty('prefixer');
|
$prefixer = (new ReflectionObject($adapter))->getProperty('prefixer');
|
||||||
$prefixer->setAccessible(true);
|
$prefixer->setAccessible(true);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ class EventListenerTest extends TestCase
|
||||||
});
|
});
|
||||||
|
|
||||||
$tenant = Tenant::create();
|
$tenant = Tenant::create();
|
||||||
dispatch_now(new CreateDatabase($tenant));
|
dispatch_sync(new CreateDatabase($tenant));
|
||||||
|
|
||||||
$this->assertFalse($tenant->database()->manager()->databaseExists(
|
$this->assertFalse($tenant->database()->manager()->databaseExists(
|
||||||
$tenant->database()->getName()
|
$tenant->database()->getName()
|
||||||
|
|
@ -192,12 +192,13 @@ class EventListenerTest extends TestCase
|
||||||
})->toListener()
|
})->toListener()
|
||||||
);
|
);
|
||||||
|
|
||||||
Tenant::create([
|
$tenant = Tenant::create([
|
||||||
'tenancy_create_database' => false,
|
'tenancy_create_database' => false,
|
||||||
'tenancy_db_name' => 'already_created',
|
'tenancy_db_name' => 'already_created',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->assertFalse($this->hasFailed());
|
// assert test didn't fail
|
||||||
|
$this->assertTrue($tenant->exists());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,6 @@ class ViteBundlerTest extends TestCase
|
||||||
/** @test */
|
/** @test */
|
||||||
public function the_vite_helper_uses_our_custom_class()
|
public function the_vite_helper_uses_our_custom_class()
|
||||||
{
|
{
|
||||||
if (version_compare(app()->version(), '9.0', '<')) {
|
|
||||||
$this->markTestSkipped('Vite is only used in Laravel 9+');
|
|
||||||
}
|
|
||||||
|
|
||||||
$vite = app(\Illuminate\Foundation\Vite::class);
|
$vite = app(\Illuminate\Foundation\Vite::class);
|
||||||
|
|
||||||
$this->assertInstanceOf(\Illuminate\Foundation\Vite::class, $vite);
|
$this->assertInstanceOf(\Illuminate\Foundation\Vite::class, $vite);
|
||||||
|
|
|
||||||
|
|
@ -197,10 +197,6 @@ class QueueTest extends TestCase
|
||||||
*/
|
*/
|
||||||
public function tenancy_is_initialized_when_retrying_jobs(bool $shouldEndTenancy)
|
public function tenancy_is_initialized_when_retrying_jobs(bool $shouldEndTenancy)
|
||||||
{
|
{
|
||||||
if (! Str::startsWith(app()->version(), '8')) {
|
|
||||||
$this->markTestSkipped('queue:retry tenancy is only supported in Laravel 8');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->withFailedJobs();
|
$this->withFailedJobs();
|
||||||
$this->withTenantDatabases();
|
$this->withTenantDatabases();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ class TenantDatabaseManagerTest extends TestCase
|
||||||
$this->assertTrue($postgresManager->databaseExists($database));
|
$this->assertTrue($postgresManager->databaseExists($database));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function database_manager_provider()
|
public static function database_manager_provider()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
['mysql', MySQLDatabaseManager::class],
|
['mysql', MySQLDatabaseManager::class],
|
||||||
|
|
@ -194,9 +194,7 @@ class TenantDatabaseManagerTest extends TestCase
|
||||||
]);
|
]);
|
||||||
tenancy()->initialize($tenant);
|
tenancy()->initialize($tenant);
|
||||||
|
|
||||||
$schemaConfig = version_compare(app()->version(), '9.0', '>=') ?
|
$schemaConfig = config('database.connections.' . config('database.default') . '.search_path');
|
||||||
config('database.connections.' . config('database.default') . '.search_path') :
|
|
||||||
config('database.connections.' . config('database.default') . '.schema');
|
|
||||||
|
|
||||||
$this->assertSame($tenant->database()->getName(), $schemaConfig);
|
$this->assertSame($tenant->database()->getName(), $schemaConfig);
|
||||||
$this->assertSame($originalDatabaseName, config(['database.connections.pgsql.database']));
|
$this->assertSame($originalDatabaseName, config(['database.connections.pgsql.database']));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue