database - 如何用git迁移数据库?

标签 database git migration

我做网站开发(主要是 Drupal 基础站点)并且有一个工作流程:

  1. 许多开发人员在他们的本地机器上工作
  2. 开发人员使用 git 将他们的更改 merge 到开发机器
  3. 当开发站点达到稳定点时,我们将推送到暂存服务器以供客户审查
  4. 最后我们发布到生产服务器

并且 git 可以很好地来回移动文件。我的问题是如何将其 merge 并使用 git 将数据库与文件一起迁移?

一旦我能够将开发数据库提升到阶梯上,我该如何将开发数据库与事件生产数据库 merge ?

最佳答案

最直接的开始是将数据库转储到一个文件中,并将其存储在 git 和源代码中。但是一定不要把这个文件泄露到生产的webroot中,这样一些schema.sql就不容易通过HTTP访问了。将源代码存储在 /webroot 并将 db 存储在存储库的 /db 子目录中很方便,使 /webroot 成为 Web 服务器的实际根目录。

然后您会看到一些更新和 merge ,甚至围绕此文件的冲突——这些应该像往常一样解决您的代码文件。

在模式代码和可执行代码的所有 merge 和冲突解决之后,您应该端到端地彻底测试您的应用程序。

关于database - 如何用git迁移数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11569180/

相关文章:

git - 查找进行 git 提交的第一个分支

azure - 使用 Azure DevOps 迁移工具迁移工作项并更改区域路径

python - Django 1.10 - 每 X 秒使用数据库中的数据更新网页

mysql - 如何在同一台服务器上复制 MySQL 数据库

Github 远程权限被拒绝

git - .gitignore 没有忽略我的文件

ruby-on-rails - 分区数据库表的 Rails 迁移索引名称太长

迁移 - Jira 到 Azure DevOps

database - Postgresql 8.4 中的 template0 默认编码

mysql - 无法约束 Laravel 和 MySql 上的关联表