class DatabaseConfig (View source)

Properties

TenantWithDatabase&Model $tenant

The tenant whose database we're dealing with.

static Closure|null $usernameGenerator

Database username generator (can be set by the developer.)

static Closure|null $passwordGenerator

Database password generator (can be set by the developer.)

static Closure|null $databaseNameGenerator

Database name generator (can be set by the developer.)

Methods

static void
__constructStatic()

No description

__construct(Model&TenantWithDatabase $tenant)

No description

static void
generateDatabaseNamesUsing(Closure $databaseNameGenerator)

No description

static void
generateUsernamesUsing(Closure $usernameGenerator)

No description

static void
generatePasswordsUsing(Closure $passwordGenerator)

No description

string
getName()

No description

string|null
getUsername()

No description

string|null
getPassword()

No description

void
makeCredentials()

Generate DB name, username & password and write them to the tenant model.

string
getTemplateConnectionDriver()

No description

array
getTemplateConnection()

No description

array
getCentralConnection()

No description

string
getTenantHostConnectionName()

No description

array
connection()

Tenant's own database connection config.

array
hostConnection()

Tenant's host database connection config.

void
purgeHostConnection()

Purge host database connection.

array
tenantConfig()

Additional config for the database connection, specific to this tenant.

manager()

Get the TenantDatabaseManager for this tenant's connection.

connectionDriverManager(string $driver)

todo come up with a better name Get database manager class from the given connection config's driver.

Details

static void __constructStatic()

No description

Return Value

void

__construct(Model&TenantWithDatabase $tenant)

No description

Parameters

Model&TenantWithDatabase $tenant

static void generateDatabaseNamesUsing(Closure $databaseNameGenerator)

No description

Parameters

Closure $databaseNameGenerator

Return Value

void

static void generateUsernamesUsing(Closure $usernameGenerator)

No description

Parameters

Closure $usernameGenerator

Return Value

void

static void generatePasswordsUsing(Closure $passwordGenerator)

No description

Parameters

Closure $passwordGenerator

Return Value

void

string getName()

No description

Return Value

string

string|null getUsername()

No description

Return Value

string|null

string|null getPassword()

No description

Return Value

string|null

void makeCredentials()

Generate DB name, username & password and write them to the tenant model.

Return Value

void

string getTemplateConnectionDriver()

No description

Return Value

string

array getTemplateConnection()

No description

Return Value

array

protected array getCentralConnection()

No description

Return Value

array

string getTenantHostConnectionName()

No description

Return Value

string

array connection()

Tenant's own database connection config.

Return Value

array

array hostConnection()

Tenant's host database connection config.

Return Value

array

void purgeHostConnection()

Purge host database connection.

It's possible database has previous tenant connection. This will clean up the previous connection before creating it for the current tenant.

Return Value

void

array tenantConfig()

Additional config for the database connection, specific to this tenant.

Return Value

array

TenantDatabaseManager manager()

Get the TenantDatabaseManager for this tenant's connection.

Return Value

TenantDatabaseManager

Exceptions

DatabaseManagerNotRegisteredException

protected TenantDatabaseManager connectionDriverManager(string $driver)

todo come up with a better name Get database manager class from the given connection config's driver.

Parameters

string $driver

Return Value

TenantDatabaseManager

Exceptions

DatabaseManagerNotRegisteredException