Laravel Pulse now supports `use_upsert_alias`

Share
Laravel Pulse now supports `use_upsert_alias`
Photo by James Wainscoat / Unsplash

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!

💡
13th June 2026: I've just noticed that this fix was released as part of v1.7.4, so make sure you're apps are using that version!