private const COMMENT = 'custom-entity-element';
public function __construct( private readonly Connection
$connection,
private readonly LockFactory
$lockFactory,
private readonly SchemaUpdater
$schemaUpdater ) { } public function update(): void
{ $this->connection->
getDatabasePlatform()->
registerDoctrineTypeMapping('enum', 'string'
);
$this->
lock(function D
): void
{ /** @var list<array{name: string, fields: string}> $tables */
$tables =
$this->connection->
fetchAllAssociative('SELECT name, fields FROM custom_entity'
);
$schema =
$this->connection->
createSchemaManager()->
introspectSchema();
$this->
cleanup($schema);
$this->schemaUpdater->
applyCustomEntities($schema,
$tables);