使用Rails / Postgres在本地机器上进行协作

时间:2013-06-08 16:09:51

标签: ruby-on-rails git postgresql

我正在与另外两名远程程序员合作开展项目。我正在设置大多数模型/数据库。我们将继续使用github,所以我将发布我的基本后端基础设施,然后他们将从那里添加他们的东西。

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

除了使用git之外,我没有看到任何保持一致的方法。只需确保您经常从存储库中pushpull

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

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