我目前正在为我的PHP项目使用SVN.我当时认为我的数据库也应该受版本控制,但最好的办法是什么?我只是在我的SVN项目中创建一个db-folder,将SQL更改粘贴到一个名为from_1.0_to_2.0.sql的文件中并提交?
我有两台服务器,生产和开发.在生产服务器上,有两个应用程序和多个(6)数据库(MySQL),我需要将它们分发给开发人员进行测试.所有源代码都存储在开发服务器上的GitLab中,开发人员只能使用此服务器,并且无权访问生产服务器.当我们发布一个应用程序时,master会登录到生产环境并从Git中提取新版本.数据库很大(每个超过500M并且数不胜数),我需要尽可能简单地将它们分发给开发人员进行测试.
在将数据库(每个数据库)转储到单个文件的备份脚本之后,执行将每个数据库推送到其自己的分支的脚本.如果开发人员想要更新他的本地副本,则会拉出其中一个分支.
发现这个不起作用.
生产服务器上的Cron每天都会保存二进制日志,并将它们推送到该数据库的分支中.因此,在分支中,有每日更改的文件,开发人员会提取他没有的文件.当前的SQL转储将以另一种方式发送给开发人员.当存储库的大小变得太大时,我们将向开发人员发送完全转储并刷新存储库中的所有数据并从头开始.
我想备份我的postgres数据库中的所有函数.如何只在Postgres中备份函数?
我正在寻找一个数据库,多个用户可以贡献并提交新数据; 然后,其他用户可以以类似git的方式将这些数据提取到他们自己的数据库存储库中.转录数据库,如果你喜欢; 这样的事情存在吗?
我目前的想法是将数据库作为SQL转储到单个文件中,但是一旦它具有任何大小,这可能会变得难以处理.另一个选择是转储数据库并使用文件系统,但是它再次变得任何大小的笨重.
我一直在使用Visual Studio 2010中的数据库项目来维护/版本控制数据库模式,并且非常满意,因为我也可以使用VBDBCMD将版本控制的模式很容易地部署到任何数据库实例.
现在我需要使用PostgreSQL,我想知道是否有任何类似于Visual Studio中的"数据库项目"的工具来帮助版本控制数据库模式以及模式部署.
谢谢.