【发布时间】:2016-04-08 21:11:58
【问题描述】:
我在本地 postgres 服务器上创建了一个数据库、一些表和存储过程。现在我想自动将这些东西迁移到我的生产服务器,而无需再次从头开始创建所有内容。这应该是非常直接的事情,但是我没有找到任何试图解释这一点的书籍。所以我想知道它是如何实现的?有人可以提供一些教程链接吗?谢谢!
【问题讨论】:
-
你的意思是在本地数据库中创建表和过程到生产数据库,不需要复制表中的数据,对吧?和 Juts 确认两个数据库都是 PostgreSQL,不是吗?
-
@wingedpanther 是的,只是模式。
-
您使用了错误的进程。将您所做的每项更改都放入 (SQL) 脚本中,然后将这些脚本存储在版本控制系统中。当您部署到生产环境时,请在生产环境中运行这些迁移脚本。从长远来看,其他任何事情都会给你带来很多麻烦。您可能想查看 Liquibase 或 Flyway 等工具,这些工具对管理架构迁移步骤有很大帮助
-
@a_horse_with_no_name:我想用 VCS 来管理所有的脚本。但是跟踪更改并手动进行更改会很麻烦吗?在我拉到服务器端之前,当有多个提交,每个都有几个更改时,尤其如此。
-
这就是我推荐使用 Liquibase(或 Flyway)的原因。一旦您在生产中完成了初始版本,您当前的解决方案将在某个时候失败。
标签: database postgresql stored-procedures schema dbmigrate