Не очень понял про последующие изменения. Если сделать как я предлагаю, то при изменении нужно будет всего лишь изменить один главный файл описания модели на DSL и сделать автоматическую генерацию файлов миграции и модели в одну команду. При этом должны автоматически создаться файлы миграций для обновления существующей версии БД: например, добавилось поле (разрешается автоматически), поле было переименовано (спросить у пользователя в консоли) и т.д.