Como você precisa manter dados históricos, bem como a versão do banco de dados, você pode usar o flyway para criar uma linha de base do seu banco de dados e depois migrá-lo para as novas versões depois de ter o DDL. O Flyway manterá o histórico de versões para você e você poderá ver suas atualizações usando metas do maven com seus perfis de banco de dados. Você não precisa usar o maven, você pode usar o flyway da interface de linha de comando.
Essencialmente, ele satisfaz sua segunda opção usando uma ferramenta para que você possa repetir os processos em diferentes ambientes (por exemplo, DEV, QA, Staging, PROD). Você usaria apenas perfis diferentes no seu processo de migração.
Aqui está o software que você precisará: link