【发布时间】:2015-10-21 21:48:13
【问题描述】:
我对 postgres 很陌生,并且对来自 MySQL 的 SQL 生疏了。
我想要实现的是使用现有数据库结构生成转储文件,然后我可以使用它来将更改部署到可能已经包含或不包含该数据库的环境。
我认为这意味着转储可能包含以下内容:
- 空的条件
CREATE查询所有表(条件如'如果不存在'...) - 有条件的
ALTER查询所有字段 - 有条件的
ALTER查询所有约束和键(主键和其他键)
我现在对转储数据不感兴趣。
显然,这需要能够创建不存在的数据库结构,但主要是我对运行已经存在数据库但结构不是最新的脚本感兴趣。这个想法是,它将在不存在的地方添加相关字段/键/等,从而使数据库保持最新。
我知道部署是软件工程的常规部分,所以我假设有:
- 一种简单的方法,或者
- 没有这样做的一个很好的理由。
请提供以上其中一项作为答案。 :)
【问题讨论】:
-
您需要将此集成到您的开发周期中,并且只需通过置于版本控制之下的脚本对数据库进行每一次更改。 Liquibase 是一个很好的工具来管理这样的架构迁移。
标签: database postgresql