fix: resolve RedisCache array offset error and improve discovery diagnostics

- Fix RedisCache driver to handle MGET failures gracefully with fallback
- Add comprehensive discovery context comparison debug tools
- Identify root cause: WEB context discovery missing 166 items vs CLI
- WEB context missing RequestFactory class entirely (52 vs 69 commands)
- Improved exception handling with detailed binding diagnostics
This commit is contained in:
2025-09-12 20:05:18 +02:00
parent 8040d3e7a5
commit e30753ba0e
46990 changed files with 10789682 additions and 89639 deletions

View File

@@ -152,6 +152,8 @@ final class MigrationDependencyGraph
/**
* Utility function for circular dependency detection using DFS
* @param array<string, bool> $visited
* @param array<string, bool> $recursionStack
*/
private function detectCircularDependenciesUtil(string $version, array &$visited, array &$recursionStack): bool
{
@@ -178,6 +180,8 @@ final class MigrationDependencyGraph
/**
* Perform a topological sort using depth-first search
* @param array<string, bool> $visited
* @param array<int, string> $order
*/
private function topologicalSort(string $version, array &$visited, array &$order): void
{

View File

@@ -48,6 +48,7 @@ final readonly class MigrationStatus
/**
* Convert to array for backward compatibility
* @return array<string, string|bool>
*/
public function toArray(): array
{

View File

@@ -85,6 +85,7 @@ final readonly class MigrationStatusCollection implements Countable, IteratorAgg
/**
* Convert to array for backward compatibility
* @return array<int, array<string, string|bool>>
*/
public function toArray(): array
{

View File

@@ -32,6 +32,11 @@ final readonly class MigrationVersion
return $this->timestamp;
}
public function toString(): string
{
return $this->timestamp;
}
public function compare(MigrationVersion $other): int
{
return $this->timestamp <=> $other->timestamp;