像 GitHub 之类的 MySQL 数据库?

Posted

技术标签:

【中文标题】像 GitHub 之类的 MySQL 数据库?【英文标题】:Something like GitHub for MySQL databases? 【发布时间】:2014-08-09 17:53:36 【问题描述】:

我正在与另一个人合作,我们使用 GitHub 提交和下载所有更改并将更新的文件保存在计算机中。但是我们有一个问题,我们不能对应用程序的数据库做同样的事情。我们尝试仅导出更改的表,但这不是最佳选择。

我的问题是,如果你知道一些数据库软件(如 github 或 subversion),保持所有本地数据库更新,并在不丢失数据的情况下合并更改。

我们在 Mac 上使用 MAMP。

【问题讨论】:

这可能更适合程序员 stackexchange 或 db admin stackexchange Do you use source control for your database items? 的可能重复项 【参考方案1】:

也许你可以使用像http://phinx.org 这样的迁移框架

然后您可以将您的数据库更改写入迁移文件并将它们包含在 github 上。

【讨论】:

如果用户更改数据,是否可以将本地数据库中的更改应用到另一个数据库而不丢失数据?谢谢 我认为这有点困难。就个人而言,我有不同的数据版本,例如测试环境、生产等以及迁移用于将更改应用于设计更改。例如:使用您的代码的当前版本,您有一些表,然后您编写一个使用另一个表的新类。您必须通过迁移脚本添加表并提交所有更改。通过这种机制,您可以保证您的代码在迁移应用到您的数据库后能够正常工作。 迁移是要走的路,那里有很多库。通常,您需要编写它们以保留数据。例如,要将一列从一个表移动到另一个表,您可能需要begin transaction; add new column; copy data from old column to new column; drop old column; end transaction; 之类的东西。确保也写一个反向迁移,这样你就可以在开发中来回切换。

以上是关于像 GitHub 之类的 MySQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

PHP数据库框架(易于插入,编辑,搜索......)?像phpMyAdmin之类的东西

法力无边的Mysql+Redis, 如何让系统性能像美团一样优秀?

哪里不使用核心数据?是不是可以将核心数据用作 MySql 之类的数据库?

像 gitignore 但不是 git ignore 之类的东西

Django基础—— 8.数据库配置

什么是DBMS,什么是数据库?