27 lines
784 B
PHP
27 lines
784 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
use App\Database;
|
|
use App\ModuleMigrationContext;
|
|
use App\Repository\KeaHostMetadataRepository;
|
|
|
|
return new class {
|
|
public function up(ModuleMigrationContext $context): void
|
|
{
|
|
$settings = $context->settings();
|
|
$fallback = is_array($context->module['metadata_db_defaults'] ?? null)
|
|
? $context->module['metadata_db_defaults']
|
|
: [];
|
|
$config = is_array($settings['metadata_db'] ?? null)
|
|
? array_replace($fallback, $settings['metadata_db'])
|
|
: $fallback;
|
|
|
|
if (empty($config['driver']) || empty($config['dbname'])) {
|
|
return;
|
|
}
|
|
|
|
$repo = new KeaHostMetadataRepository(Database::createFromArray($config));
|
|
$repo->ensureSchema();
|
|
}
|
|
};
|