如何对CouchDB的map/reduce函数进行版本控制?我希望能够将它们检入到git/github中,这样我的队友就可以轻松地将它们应用到他们的本地测试环境中。我知道那里的CouchDB的复制功能,但我想保持数据库视图与项目的来源。版本控制couchdb map-reduce功能
回答
您需要的是(许多)couchapp工具之一。基本上它们都将各种结构中的一系列js文件映射到CouchDB使用的设计文档布局,并且通常会提供一些简单的推/拉机制来获取这些文件。
然后,您可以在主文件夹&中git init,确保您正在版本化您上传的设计文档。
有一个很好的解释http://mindeavor.com/blog/the-anatomy-of-a-couchapp只是暂时忽略供应商/讨论,它不是必需的。
如果你是一个JS /节点家伙的更多尝试https://github.com/mikeal/node.couchapp.js/或kanso http://kan.so/是真棒,但它做了很多;在进入之前你可能会发现你需要更多的Couch-fu。不过,您可以使用kanso push
开始。
如果您只想开始使用,请使用couchapp http://github.com/couchapp/couchapp这是一个python工具,可能是最初的工具。
感谢您的支持!不过,您的一些链接似乎已经死亡。 Kanso看起来应该现在访问https://kanso.app.medicmobile.org/,解释链接可能会转到http://web.archive.org/web/20121024014059/http://mindeavor.com/ blog/the-anatomy-of-a-couchapp - 我在作者(@mindeavor)上发布推文,询问是否有更好的网址。 –
我们(以及我相信大多数团队)会按照您所说的去做。我们在我们的源代码树中保留我们的观点等,并承诺git。我们的应用程序是一个节点应用程序,所以它对于我们来说非常简单,并且将它们保存到数据库中,但这在任何语言中都相当简单 - 只是提出一个命名方案,将JS文件存储在特定放置并读取文件,并将数据存储在数据库中相应的_design/document
中的适当键结构中。
- 1. 版本控制SharePoint功能
- 2. 实施版本控制功能
- 3. '版本控制'功能的SQL查询
- 4. CouchDB版本/审计
- 5. Filemaker版本控制?
- 6. 版本控制
- 7. Yocto版本控制
- 8. 如何禁用CouchDB中的版本控制?
- 9. 版本控制
- 10. Rails版本控制
- 11. iTunesConnect版本控制
- 12. CouchDB文档/功能
- 13. couchdb验证功能
- 14. 控制器功能看到变量的旧版本
- 15. 如何在Qt Creator中禁用版本控制功能?
- 16. 将git版本控制功能集成到网站中
- 17. 如何使用以下功能设置版本控制?
- 18. NHibernate中版本控制功能的主要优点是什么?
- 19. 持续交付,版本控制和功能分支混乱
- 20. Visual Studio 2010版本控制和Bug跟踪功能
- 21. PyCharm版本控制:禁用提交功能
- 22. 版本控制与多个版本
- 23. pysvn文件复制功能版本号
- 24. TFS版本控制
- 25. Java版本控制
- 26. NHibernate版本控制
- 27. CouchDB的地图功能,减少功能
- 28. PLC版本控制
- 29. NuGet版本控制
- 30. JAR版本控制
我不明白这个问题。是不是这种观点是用某种高级语言,JavaScript或其他语言定义的?在这种情况下,你可以将它们存储在一个常规的源文件中,并将它们作为版本源代码模块进行版本化。唯一剩下的技巧是如何从文本文件源中将它们导入到CouchDB中。但是这也很简单:假设它们是Javascript函数,如果你有一个Javascript引擎,你可以获得函数的字符串表示,对它们进行JSON化,并用PUT动态地将它们加载到CouchDB中以适当的URL。 – Cheeso
我正在走这条路,但它看起来比它需要的更复杂。理想情况下,我想从文件系统导入/导出视图的JS,以便我可以提交给git。 –