The deploy job was overwriting DATABASE_URL with a placeholder for prisma:generate, but this persisted when db:migrate ran later, causing ER_ACCESS_DENIED_ERROR. Since the stage directory already symlinks to the live .env, the real DATABASE_URL is available without override.