mirror of
https://github.com/wallabag/wallabag.git
synced 2025-06-27 16:36:00 +00:00
33 lines
1.1 KiB
PHP
33 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Wallabag\Doctrine;
|
|
|
|
use Doctrine\Migrations\AbstractMigration;
|
|
use Doctrine\Migrations\Version\MigrationFactory;
|
|
|
|
/**
|
|
* Decorates the migration factory to pass some additional information to the migration instances.
|
|
*/
|
|
class MigrationFactoryDecorator implements MigrationFactory
|
|
{
|
|
public function __construct(
|
|
private readonly MigrationFactory $migrationFactory,
|
|
private readonly string $tablePrefix,
|
|
private readonly array $defaultIgnoreOriginInstanceRules,
|
|
private readonly string $fetchingErrorMessage,
|
|
) {
|
|
}
|
|
|
|
public function createVersion(string $migrationClassName): AbstractMigration
|
|
{
|
|
$instance = $this->migrationFactory->createVersion($migrationClassName);
|
|
|
|
if ($instance instanceof WallabagMigration) {
|
|
$instance->setTablePrefix($this->tablePrefix);
|
|
$instance->setDefaultIgnoreOriginInstanceRules($this->defaultIgnoreOriginInstanceRules);
|
|
$instance->setFetchingErrorMessage($this->fetchingErrorMessage);
|
|
}
|
|
|
|
return $instance;
|
|
}
|
|
}
|