0

Final Class Yiisoft\Db\Migration\DatabaseSetRegistry

InheritanceYiisoft\Db\Migration\DatabaseSetRegistry

Additional named database sets, in execution order. The "default" database is always configured by the existing command dependencies, so it can't be defined here.

Constants

Hide inherited constants

Constant Value Description Defined By
DEFAULT_DATABASE 'default' Name of the default database configured by the existing command dependencies. Yiisoft\Db\Migration\DatabaseSetRegistry

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( \Yiisoft\Injector\Injector $injector, Yiisoft\Db\Migration\Informer\MigrationInformerInterface $informer, array $databases = [] )
$injector \Yiisoft\Injector\Injector
$informer Yiisoft\Db\Migration\Informer\MigrationInformerInterface
$databases array

Additional named sets, excluding "default".

                public function __construct(
    private readonly Injector $injector,
    private readonly MigrationInformerInterface $informer,
    array $databases = [],
) {
    $sets = [];
    foreach ($databases as $name => $database) {
        if (!is_string($name) || trim($name) === '') {
            throw new InvalidArgumentException('Database names must be non-empty strings.');
        }
        if ($name === self::DEFAULT_DATABASE) {
            throw new InvalidArgumentException(
                'The "' . self::DEFAULT_DATABASE
                . '" database is configured by the existing migration settings and can\'t be redefined.',
            );
        }
        $sets[$name] = $database;
    }
    $this->databases = $sets;
}

            
getNames() public method

public list getNames ( )

                public function getNames(): array
{
    return array_keys([self::DEFAULT_DATABASE => null, ...$this->databases]);
}