Uh oh!
There was an error while loading. Please reload this page.
fix: SQLite3 config type handling for .env overrides - #10037
Conversation
paulbalandan
left a comment
There was a problem hiding this comment.
Why is this fix only targeting database connections? Should other core classes that declare typed properties in the future be affected by the bug and thus deserve also to be fixed?
michalsn
commented
Mar 16, 2026
This fix targets database connections because that's the actual bug we have today. There's no safe global fix for all cases. Mixed config arrays are the problem: Although I'm open to ideas. |
neznaika0
left a comment
There was a problem hiding this comment.
Thanks for the PR. This fixes the problem, but I personally don't really like the extra checks with reflection. I can't offer you anything better.
michalsn
commented
Mar 20, 2026
Well, the only other option I see is removing the ability to assign |
michalsn
commented
Mar 21, 2026
Okay, this is fine for now unless we find a better approach. Thanks for the reviews! |
Uh oh!
There was an error while loading. Please reload this page.
Description
This PR fixes a bug where database config values coming from
.envcould remain strings and then be assigned to typed SQLite3 connection properties with the wrong type. That could trigger aTypeErrorforsynchronousor causebusyTimeoutto be ignored.The fix normalizes string config values when they are assigned to typed connection properties, and also types
SQLite3\Connection::$busyTimeoutas?intso it behaves consistently. This is done inBaseConnection, where the real destination type is known, rather than trying to guess types fornullvalues in config arrays.Fixes#10021
Checklist: