目标是构建一个简洁的 SQL 脚本来更改/更新表,因为在任何两个时间点之间对模式进行了更改。
例如,我在一台机器上进行开发,在“A”天,我使用转储和恢复实用程序在生产机器上安装数据库。然后在“B”天,在我的开发机器上进行一些更改并测试它们之后,我需要将这些对我的架构的更改放到我的生产服务器上。
没有写下我对我的模式所做的每一个命令(其中一些可能是实验性的和撤消的),管理从 A 点到 B 点(或 B 点到 F 点)升级模式的好方法是什么?
更新:
似乎有充分的理由不赞成类似 diff 的数据库概念。所以这给我留下了新的问题。
有什么简单的方法可以将实验性更改与生产价值更改区分开来?当您做一些不利的事情时,只是继续将您的开发数据库恢复到最后一个已知的良好状态?
可以将 postgresql 配置为以一种可以作为更新脚本使用的方式记录您的所有操作吗?我问的原因是我喜欢使用 PgAdminIII,我宁愿用它来工作,也不愿编写用于构建或试验的更新脚本。