1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-02-05 06:04:03 +00:00

Utilize Tenant Run in commands

This commit is contained in:
Samuel Štancl 2019-10-26 22:07:17 +02:00
parent b4caaaed51
commit bbfeb163f4
4 changed files with 24 additions and 49 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);
$this->call('db:wipe', array_filter([
'--database' => $tenant->getConnectionName(),
'--force' => true,
]));
$this->call('tenants:migrate', [
'--tenants' => [$tenant->id],
]);
tenancy()->end();
$tenant->run(function ($tenant) {
$this->info('Dropping tables.');
$this->call('db:wipe', array_filter([
'--database' => $tenant->getConnectionName(),
'--force' => true,
]));
$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);
}
}
}