8

如何对 CouchDB 的 map/reduce 函数进行版本控制?我希望能够将它们签入 git/github,以便我的队友可以轻松地将它们应用到他们的本地测试环境中。我知道 CouchDB 中的复制功能,但我想将数据库视图与项目的源一起保留。

4

2 回答 2

7

您需要的是(许多)couchapp 工具之一。基本上它们都将一堆各种结构的 js 文件映射到 CouchDB 使用的设计文档布局,并且通常提供一些简单的推/拉机制来获取这些文件。

然后,您可以在主文件夹中 git init 并确保您正在对上传的设计文档进行版本控制。

有一个很好的解释http://mindeavor.com/blog/the-anatomy-of-a-couchapp暂时忽略供应商/讨论,它不是必需的。

如果您更喜欢 JS/node 人,请尝试https://github.com/mikeal/node.couchapp.js/或 kanso http://kan.so/很棒,但它还有更多功能;你可能会发现在进入它之前你需要更多的 Couch-fu。它非常好,但是你可以通过使用kanso push来开始。

如果您只是想开始,请使用 couchapp http://github.com/couchapp/couchapp这是一个 python 工具,可能是原始工具。

于 2012-06-30T18:22:11.047 回答
1

我们(而且我相信大多数团队)完全按照您所说的那样做。我们将视图等保存在源代码树中并提交给 git。我们的应用程序是一个节点应用程序,因此我们特别简单地获取源代码并将它们保存到数据库中,但这在任何语言中都相当简单 - 只需提出一个命名方案,将 JS 文件存储在特定的放置并读取文件并将数据存储在数据库中适当的密钥结构中_design/document

于 2012-06-29T21:54:17.327 回答