我在考虑使用CouchDB为即将到来的网络发展项目。

什么是最好的方式保持CouchDB文件回购中间同步的各种开发人员的所有运行的应用程序在本地?

一个例子:假设开发一个创建一个新的视图,或设计文件在沙发上的或只是简单地添加一个领域的现有图。它们也检查,在某些客户代码,预计这一领域须在CouchDB图。开发商B和更新最新的源代码的拉下来开发一个客户面的变化。如何开B,得到沙发上的变化,伴随着客户的代码?

在一个典型的关系型数据库,这将是完成通过检查组SQL的文件或数据库迁移进入供应链管理系统。之后,开发商B的更新他的代码,他将运行的新的SQL或迁移脚本,以提升自己的数据库架构。

也许在沙发上还有一个办法出口/进口的设计文档,并视的定义并检查那些成SCM系统?也许我只是需要我的关系型数据库的背景洗脑要deprogrammed.

有帮助吗?

解决方案

我通常保存的.js我的看法地图文件和减少功能,并将其存储在那些我的代码库。一个常见的模式是为每个视图的文件夹,并为每个视图功能的单独js文件(地图/降低)。一个示例:

views/
    tags/
        map.js
        reduce.js
    users/
        map.js
        reduce.js

views/tags/map.js的含量仅仅是JavaScript的映射函数,例如:

function(doc) {
    if(doc.tags && doc.tags.length) {
        for(var index in doc.tags) {
            emit(doc.tags[index], null);
        }
    }
}

您就可以管理你的意见,你选择的任何方式,可能使用 CouchApp 或类似的东西来同步所有的CouchDB实例。当然,我不知道什么是“最佳实践”是,但是这是我做了什么,它与我的团队运作良好。

其他提示

技术含量低的解决方案:

进出口文件的格式似乎是一种象,使它不同于不动SQL文件。

以上Ryan的建议是一个很好的。 DB :: CouchDB的::是具有脚本Perl库捆绑在一起能架构导出和导入您的设计文件。它可以帮助自动为您工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top