我是数据库版本控制的新手,我正在开发一个 java Web 应用程序(vaadin,spring,spring-data-jpa),我在其中使用类似 maven 的项目管理工具。通过 manen,我管理发布和源代码版本控制。现在我的麻烦是数据库版本控制。我尝试通过一个例子来解释我的问题:
当我的应用程序是 0.0.1-SNAPSHOT 版本时,我创建了一个包含一些表的数据库,在某个时候我决定发布这个版本(1.0.0),并将它安装在我的生产环境中,同时在我的主干内(在SCM)我有版本 1.0.1-SNAPSHOT。现在我必须添加一些新功能,这些新功能需要添加其他一些表和属性,当我完成这些新功能的开发时,我会更新我的数据库并发布 (1.1.0)。现在,如果因为某些问题我想重新安装 1.0.0,我将无法重置数据库状态。我看到有一些数据库版本控制插件如何:使用 maven2 进行数据库版本控制?,但我想要一些建议,这些情况下的指导方针是什么,以及哪些插件可以让我管理它们。