标签: database postgresql database-design relational-database
我有多个数据库在不同的位置运行 postgres 9.4 ,每个数据库都有相同的表结构和功能,根据您的经验,更新其表或功能的最佳方法是什么每次开发团队进行更改时,每一个都是
例如:如果他们添加新表或对某个功能进行了更改,我该如何更新所有数据库,现在我逐个更新它们。
答案 0 :(得分:3)
您应该考虑采用像liquibase这样的数据库重构/迁移工具。
liquibase
Liquibase在数据库中创建一个表,用于保存数据库版本和已执行的更改。它提供了一种基于xml的脚本语言,可以在团队的几个成员之间顺利地使用源版本控制,并且它完美地支持PostgreSQL,以及事务和回滚。
Liquibase
PostgreSQL
该工具会检查目标数据库的当前版本,并且仅对其执行将其更新为最新版本所需的必要更改。
Liquibase还提供maven插件和/或ant任务,使开发团队能够将其执行集成为构建过程中的一个步骤。
maven
ant
另外,您也可以考虑提供所有必要功能的Flyway。
Flyway