В общем, я, видимо, не очень понимаю процесс. Значит так, разработчик в процессе работы вносит изменения в бд. Изменяет схему, заполняет справочные данные и т.п. Затем он применяет инструмент и создаёт миграцию? А затем, после пуша, в процессе наката конфигурации, инструмент применяет миграцию к окружению.
Но. Что если разработчик забудет создать миграцию? Что если он закоммитит не ту миграцию? Как автоматизировать именно разработку? При написании кода нам помогает git. Мы создаём новый код, и к нему применяем git, и уже именно git создаёт "миграцию", и именно git применяет её при "развёртывании" кода.
Или я чего-то не знаю? Или есть возможность (полу)автоматически "закоммитить" именно базу данных?
Git делает бэкап только файлов в проекте с базой данных не его функция. Если вручную дать команду dump для базы перед отправкой в github, когда база маленькая и не факт, что это то, что нужно. Надо стараться вносить изменения в БД, чтобы они были максимально совместимы с разными версиями проекта.