0

我正在与另外两个远程编码器一起做一个项目。我正在设置大多数模型/数据库。我们将在 github 上工作,所以我将发布我的基本后端基础设施,然后他们将从那里添加他们的东西。

我最初的想法是我只需将我的 databas.yml 放在 .gitignore 文件中,让他们建立自己的数据库。但我有点困惑他们如何让他们的数据库跟上我的模型的速度。我一次生成一个模型,所以我有 7 个迁移文件,每个模型一个。当我做出改变时,我可能会有更多。

有没有一种简单的方法可以让他们的数据库在表/字段方面与我的同步,或者他们只需要从头开始为每个迁移文件运行 rake db:migrate 吗?也许我应该将所有代码放在“主迁移”文件中并将其发送给他们?我正在寻找一种不会引入太多第三方材料并且基本上保持在 rails/postgres/github 范式的解决方案。

4

2 回答 2

2

将你的 database.yml 文件添加到 .gitignore。将您的 database.yml “另存为”作为 database.yml.example 并删除用户名和密码。

现在谈战略。理想情况下,您的迁移仅修改架构,并且仅当您的应用程序已经运行时才有必要。您应该维护 db/seeds.rb 以引入您的朋友运行应用程序所需的任何种子数据。当他们设置时,他们应该能够输入“rake db:create db:schema:load db:seed”并启动并运行。从那时起, db:migrate 和 db:seed 将使它们保持最新。

于 2013-06-08T16:34:54.993 回答
1

除了使用 git 之外,我没有看到任何保持一致的方法。只要确保你们所有人push并且pull经常来自存储库。

database.yml文件实际上与您的架构无关,它只是确保与您的数据库的连接。

如果要合并迁移,可以通过访问此处的答案来实现。但这实际上更多是为了确保您在很长一段时间后不会获得太多迁移文件,并且与保持文件一致没有任何关系。

于 2013-06-08T16:33:53.477 回答