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

Only revert initialized bootstrappers (Tenancy::initializedBootstrappers)

This commit is contained in:
Samuel Štancl 2025-08-04 01:40:44 +02:00
parent f308e2f84d
commit 2d7206fb16
4 changed files with 106 additions and 2 deletions

View file

@ -35,6 +35,18 @@ class Tenancy
*/
public static array $findWith = [];
/**
* A list of bootstrappers that have been initialized.
*
* This is used when reverting tenancy, mainly if an exception
* occurs during bootstrapping, to ensure we don't revert
* bootstrappers that haven't been properly initialized
* (bootstrapped for the first time) previously.
*
* @property list<class-string<TenancyBootstrapper>>
*/
public array $initializedBootstrappers = [];
/** Initialize tenancy for the passed tenant. */
public function initialize(Tenant|int|string $tenant): void
{
@ -192,7 +204,6 @@ class Tenancy
/**
* Run a callback for multiple tenants.
* More performant than running $tenant->run() one by one.
*
* @param array<Tenant>|array<string|int>|\Traversable|string|int|null $tenants
*/