Laravel Pulse now supports `use_upsert_alias`
We hit a bit of a bug in a couple of our Shopify Apps this week. We use Laravel Pulse and realised that for a couple of them, the dashboard was completely empty. This meant that we weren't getting alerts for issues including stuck jobs and other things we have configured.
I eventually tracked this down to a change I'd made earlier in the year, to support MySQL 8.4. This version of MySQL deprecates using VALUES in an upsert query. A PR was merged into the framework several years ago which added the ability to use the alias instead of VALUES by setting use_upsert_alias to true inside your database.php config file.
Turns out, Laravel Pulse didn't work with that set to true and when running the ingest, our 2 apps that do use the alias were erroring with
[previous exception] [object] (PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'value' in field list is ambiguous
So, I put together a PR which updates a bunch of queries, only when use_upsert_alias is set to true. Taylor merged it and hopefully it will get released soon!