From a63906f3fd85c56959496e56f75bd84cc0921a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20=C5=A0tancl?= Date: Wed, 30 Mar 2022 16:49:01 +0200 Subject: [PATCH] Fixed: make migration commands compatible --- src/Commands/Migrate.php | 20 +++----------------- src/Commands/Rollback.php | 9 +++++++-- src/Concerns/ExtendsLaravelCommand.php | 20 ++++++++++++++++++++ tests/QueueTest.php | 15 ++++++++++++++- 4 files changed, 44 insertions(+), 20 deletions(-) create mode 100644 src/Concerns/ExtendsLaravelCommand.php diff --git a/src/Commands/Migrate.php b/src/Commands/Migrate.php index f721281f..a74497e5 100644 --- a/src/Commands/Migrate.php +++ b/src/Commands/Migrate.php @@ -8,39 +8,25 @@ use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Database\Console\Migrations\MigrateCommand; use Illuminate\Database\Migrations\Migrator; use Stancl\Tenancy\Concerns\DealsWithMigrations; +use Stancl\Tenancy\Concerns\ExtendsLaravelCommand; use Stancl\Tenancy\Concerns\HasATenantsOption; use Stancl\Tenancy\Events\DatabaseMigrated; use Stancl\Tenancy\Events\MigratingDatabase; class Migrate extends MigrateCommand { - use HasATenantsOption, DealsWithMigrations; + use HasATenantsOption, DealsWithMigrations, ExtendsLaravelCommand; - /** - * The console command description. - * - * @var string - */ protected $description = 'Run migrations for tenant(s)'; - /** - * Create a new command instance. - * - * @param Migrator $migrator - * @param Dispatcher $dispatcher - */ public function __construct(Migrator $migrator, Dispatcher $dispatcher) { parent::__construct($migrator, $dispatcher); + // Add the --tenants option $this->specifyParameters(); } - public static function getDefaultName(): ?string - { - return 'tenants:migrate'; - } - /** * Execute the console command. * diff --git a/src/Commands/Rollback.php b/src/Commands/Rollback.php index 081872c8..5dfb83b1 100644 --- a/src/Commands/Rollback.php +++ b/src/Commands/Rollback.php @@ -7,13 +7,19 @@ namespace Stancl\Tenancy\Commands; use Illuminate\Database\Console\Migrations\RollbackCommand; use Illuminate\Database\Migrations\Migrator; use Stancl\Tenancy\Concerns\DealsWithMigrations; +use Stancl\Tenancy\Concerns\ExtendsLaravelCommand; use Stancl\Tenancy\Concerns\HasATenantsOption; use Stancl\Tenancy\Events\DatabaseRolledBack; use Stancl\Tenancy\Events\RollingBackDatabase; class Rollback extends RollbackCommand { - use HasATenantsOption, DealsWithMigrations; + use HasATenantsOption, DealsWithMigrations, ExtendsLaravelCommand; + + protected static function getTenantCommandName() + { + return 'tenants:rollback'; + } /** * The console command description. @@ -31,7 +37,6 @@ class Rollback extends RollbackCommand { parent::__construct($migrator); - $this->setName('tenants:rollback'); $this->specifyParameters(); } diff --git a/src/Concerns/ExtendsLaravelCommand.php b/src/Concerns/ExtendsLaravelCommand.php new file mode 100644 index 00000000..85438f4c --- /dev/null +++ b/src/Concerns/ExtendsLaravelCommand.php @@ -0,0 +1,20 @@ +valuestore = Valuestore::make(__DIR__ . '/Etc/tmp/queuetest.json')->flush(); + $this->createValueStore(); } public function tearDown(): void @@ -60,6 +62,17 @@ class QueueTest extends TestCase $this->valuestore->flush(); } + protected function createValueStore(): void + { + $valueStorePath = __DIR__ . '/Etc/tmp/queuetest.json'; + + if (! file_exists($valueStorePath)) { + file_put_contents($valueStorePath, ''); + } + + $this->valuestore = Valuestore::make($valueStorePath)->flush(); + } + protected function withFailedJobs() { Schema::connection('central')->create('failed_jobs', function (Blueprint $table) {