If an install is missing TEMPORARY TABLES permission, phabricator:20210215.changeset.02.phid-populate.php fails with an opaque error (see also T13613):
[2021-02-26 14:46:49] EXCEPTION: (AphrontAccessDeniedQueryException) #1044: Access denied for user 'phabricator'@'our_phabricator_servver' to database 'phabricator_differential' at [<phabricator>/src/infrastructure/storage/connection/mysql/AphrontBaseMySQLDatabaseConnection.php:350]
This could be improved by:
- Catching MySQL error 1044 and contextualizing it ("This may be caused by a missing GRANT permission."), since the message is opaque and does not lead users toward the solution.
- Running a self-test for required GRANT permissions at startup in bin/storage upgrade before applying patches.