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

[!] DBAL 4 incompatibility #88

Open
DarthLegiON opened this issue Mar 2, 2024 · 2 comments
Open

[!] DBAL 4 incompatibility #88

DarthLegiON opened this issue Mar 2, 2024 · 2 comments
Assignees

Comments

@DarthLegiON
Copy link

DarthLegiON commented Mar 2, 2024

Hi guys! Is this package abandoned? Because I have a problem with it when Doctrine ORM is upgraded to 3.0 and DBAL to 4.0.

Starting from this:

Fatal error: Declaration of Darsyn\IP\Doctrine\AbstractType::convertToDatabaseValue($value, Doctrine\DBAL\Platforms\AbstractPlatform $platform) must be compatible with Doctrine\DBAL\Types\Type::convertToDatabaseValue(mixed $value, Doctrine\DBAL\Platforms\AbstractPlatform $platform): mixed in /var/app/vendor/darsyn/ip/src/Doctrine/AbstractType.php on line 85

And it's real:

public function convertToDatabaseValue($value, AbstractPlatform $platform)

vs

public function convertToDatabaseValue(mixed $value, AbstractPlatform $platform): mixed

It must be fixed. I can prepare the pull request, if you need it.

@zanbaldwin
Copy link
Member

Sorry, I've only just noticed this issue! There aren't going to be any new features, but I'm definitely interested in keeping this library up-to-date with newer Doctrine versions.

Currently, the IP library supports PHP versions all the way from 5.6 to 8.3 - if the newer Doctrine versions require adding return types then I'm going to have to think about backwards compatibility. Perhaps I might split it up into darsyn/ip and darsyn/ip-doctrine.

For the moment, it might be best if you copy the Doctrine type classes and make the modifications you need as I don't see the upgrades that are needed being particularly quick.

@zanbaldwin zanbaldwin self-assigned this May 5, 2024
@DarthLegiON
Copy link
Author

DarthLegiON commented May 6, 2024

Thanks for your attention! Your answer explains a lot for me.

I see that there are no problems with updating Doctrine itself but only with DBAL extension to v4. I set v3.8.4, it's enough for ORM v3 and doesn't conflict with packages that have to maintain PHP <8.

I suggest you to add "conflict" section to your composer.json with such code:

"conflict": {
    "doctrine/dbal": ">=4.0"
}

It should prevent automatic updates of DBAL when your package is installed.

@DarthLegiON DarthLegiON changed the title [!] Doctrine 3 incompatibility [!] DBAL 4 incompatibility May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants