1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 12:44:02 +00:00

[2.2.0] Use Tenant Run in console commands (#205)

* Utilize Tenant Run in commands

* Apply fixes from StyleCI
This commit is contained in:
Samuel Štancl 2019-10-27 20:50:49 +01:00 committed by GitHub
parent b4caaaed51
commit 7389f44de9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 23 additions and 48 deletions

View file

@ -49,21 +49,15 @@ class Migrate extends MigrateCommand
return;
}
$originalTenant = tenancy()->getTenant();
tenancy()->all($this->option('tenants'))->each(function ($tenant) {
$this->line("Tenant: {$tenant['id']}");
$this->input->setOption('database', $tenant->getConnectionName());
tenancy()->initialize($tenant);
// Migrate
parent::handle();
tenancy()->endTenancy();
$tenant->run(function () {
// Migrate
parent::handle();
});
});
if ($originalTenant) {
tenancy()->initialize($originalTenant);
}
}
}

View file

@ -33,30 +33,23 @@ final class MigrateFresh extends Command
*/
public function handle()
{
$originalTenant = tenancy()->getTenant();
$this->info('Dropping tables.');
tenancy()->all($this->option('tenants'))->each(function ($tenant) {
$this->line("Tenant: {$tenant->id}");
tenancy()->initialize($tenant);
$tenant->run(function ($tenant) {
$this->info('Dropping tables.');
$this->call('db:wipe', array_filter([
'--database' => $tenant->getConnectionName(),
'--force' => true,
]));
$this->call('db:wipe', array_filter([
'--database' => $tenant->getConnectionName(),
'--force' => true,
]));
$this->call('tenants:migrate', [
'--tenants' => [$tenant->id],
]);
tenancy()->end();
$this->info('Migrating.');
$this->callSilent('tenants:migrate', [
'--tenants' => [$tenant->id],
]);
});
});
$this->info('Done.');
if ($originalTenant) {
tenancy()->initialize($originalTenant);
}
}
}

View file

@ -49,21 +49,15 @@ class Rollback extends RollbackCommand
return;
}
$originalTenant = tenancy()->getTenant();
tenancy()->all($this->option('tenants'))->each(function ($tenant) {
$this->line("Tenant: {$tenant['id']}");
$this->input->setOption('database', $tenant->getConnectionName());
tenancy()->initialize($tenant);
// Migrate
parent::handle();
tenancy()->endTenancy();
$tenant->run(function () {
// Rollback
parent::handle();
});
});
if ($originalTenant) {
tenancy()->initialize($originalTenant);
}
}
}

View file

@ -47,21 +47,15 @@ class Seed extends SeedCommand
return;
}
$originalTenant = tenancy()->getTenant();
tenancy()->all($this->option('tenants'))->each(function ($tenant) {
$this->line("Tenant: {$tenant['id']}");
$this->input->setOption('database', $tenant->getConnectionName());
tenancy()->initialize($tenant);
// Seed
parent::handle();
tenancy()->endTenancy();
$tenant->run(function () {
// Seed
parent::handle();
});
});
if ($originalTenant) {
tenancy()->initialize($originalTenant);
}
}
}