Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DoctrineBridge] LockStoreSchemaListener not working properly #54406

Open
barton-webwings opened this issue Mar 26, 2024 · 1 comment
Open

[DoctrineBridge] LockStoreSchemaListener not working properly #54406

barton-webwings opened this issue Mar 26, 2024 · 1 comment

Comments

@barton-webwings
Copy link
Contributor

Symfony version(s) affected

6.4.4

Description

After installing symfony/lock and configuring it with DoctrineDbalStore, I noticed that invoking doctrine:migrations:diff command would generate a migration issuing a DROP of the autogenerated lock_keys table.

After investigating, I found out the issue is line 33 of the listener. The $stores property receives a RewindableGenerator, which is then passed directly to an ArrayIterator. This produces an invalid iterator, skipping the whole following while loop.

How to reproduce

  1. Configure symfony/lock with a DoctrineDbalStore.
  2. Generate the lock_keys table, either by using the LockFactory or by any other means mentioned in the docs.
  3. Run the doctrine:migrations:diff command.
  4. See that the the schema for the table is not properly configured, resulting in a migration instead of the expected No changes detected in your mapping information. message.

Possible Solution

Since the $stores property is already typed as iterable, it would seem replacing the loop with a foreach iterating directly on the property would be the best solution.

Additional Context

No response

@robwdwd
Copy link

robwdwd commented Apr 26, 2024

Same issue in 7.0, seems the PR to fix a niche case use of the lock component has broken functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants