繁体   English   中英

带有迁移运行的git分支

[英]git branch with migrations run

我在git中签出了一个分支,以尝试开发一项功能,该功能涉及我已经运行的三个迁移。 在数据库中保留非常少量的数据并不重要。 将分支合并回master时如何处理? 我应该在合并之前回滚迁移,然后在合并之后再次运行它们(就像一个SO答案所建议的那样),还是我将其保留原样并将所有内容提交到分支,然后将其合并而不回滚任何内容。 另一个SO答案建议从gitignore文件中删除db,但是尚不清楚是否仅在保留数据可能很重要的情况下才需要这样做。

# Ignore the default SQLite database.
/db/*.sqlite3

您不应该在git中跟踪*.sqlite3开发文件。

你应该

  1. master合并到您的分支
  2. 确保一切顺利
  3. 结帐master
  4. 将分支合并回master
  5. 继续发展

合并将从分支中引入您的迁移。 您可以在合并之前回滚,进行合并,然后迁移,但是没有必要。 最后的结果架构将是相同的。


在需要回滚/迁移的情况下, master和分支之间的迁移可能会以某种方式相互冲突。 当您“确保一切正常”时,可以在上面的步骤2中修复此问题。

通常,您应该能够获取一个完全空白的数据库,运行rake db:migrate并最终得到一个最新的数据库结构,而不会发生任何故障。 这就是为什么上面的步骤2很重要的原因,以确保您不会将中断/冲突的迁移合并回master

对于在开发中可能会丢失数据的情况,这就是固定装置的用途。 您可以使用Rails播种功能,也可以使用factory_girl之类的gem。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM