[TASK] Use dedicated cache for schema information
Using the core cache for schema information comes with various drawbacks: 1. There is no way to flush single core cache entries, thus the complete core cache needs to be flushed when changing the database schema. 2. The PHP Frontend provides no benefit, when the to be cached information has to be serialized anyway. Therefore, a new cache is introduced that can be flushed individually after schema updates. Flushing the cache is now also moved altogether to SchemaMigrator, in order to avoid flushing the cache multiple times for multiple connections. For flushing the individual cache, the internal Bootstrap::createCache factory is used, which ensures a cache backend, which is not set to null backend, which happens with late boot methodology in install tool and replaces the previously used ClearCacheService, which is only meant to be used to flush all caches and boots the system for that. With doing so, the previously introduced argument to not boot the system can be removed again. As drive by change the SysLogChannel update is renovated a bit to not use deprecated Doctrine DBAL API. Releases: main, 12.4 Resolves: #100925 Change-Id: I0193501fec5d41edfcb65f07faefe30985629818 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79148 Reviewed-by:Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech>
Showing
- typo3/sysext/core/Classes/Database/Connection.php 4 additions, 4 deletionstypo3/sysext/core/Classes/Database/Connection.php
- typo3/sysext/core/Classes/Database/Schema/ConnectionMigrator.php 1 addition, 2 deletions...ysext/core/Classes/Database/Schema/ConnectionMigrator.php
- typo3/sysext/core/Classes/Database/Schema/SchemaInformation.php 10 additions, 138 deletions...sysext/core/Classes/Database/Schema/SchemaInformation.php
- typo3/sysext/core/Classes/Database/Schema/SchemaMigrator.php 4 additions, 2 deletionstypo3/sysext/core/Classes/Database/Schema/SchemaMigrator.php
- typo3/sysext/core/Configuration/DefaultConfiguration.php 6 additions, 1 deletiontypo3/sysext/core/Configuration/DefaultConfiguration.php
- typo3/sysext/core/Documentation/Changelog/12.4.x/Important-100925-UseDedicatedCacheForDatabaseSchemaInformation.rst 37 additions, 0 deletions...-100925-UseDedicatedCacheForDatabaseSchemaInformation.rst
- typo3/sysext/install/Classes/Service/ClearCacheService.php 8 additions, 10 deletionstypo3/sysext/install/Classes/Service/ClearCacheService.php
- typo3/sysext/install/Classes/Updates/SysLogChannel.php 6 additions, 4 deletionstypo3/sysext/install/Classes/Updates/SysLogChannel.php
Please register or sign in to comment