Как копировать только проектные документы?
Итак, я хочу реплицировать некоторые изменения, внесенные в мои файлы дизайна от разработчика до производства (a.k.a. Я хочу что-то развернуть).
Я как-то запутался, так как мои исследования не привели к каким-либо конкретным результатам. Хотя это швы IMHO, как довольно очевидный вариант использования.
Я что-то пропустил?
Ответы
Ответ 1
Вы можете указать идентификаторы документов для репликации, без необходимости писать фильтр. Отправьте документ репликации (или команду) следующим образом:
{ "source": "my_db"
, "target": "http://target:5984/target_db"
, "doc_ids": [ "_design/my_ddoc" ]
}
Ответ 2
Вы можете использовать "Filtered Replication" (подробнее см. http://wiki.apache.org/couchdb/Replication#Filtered_Replication)
В принципе, вы предоставите функцию, которая возвращает true для проектных документов, например:
function(doc, req) {
return "_design/" === doc._id.substr(0, 8)
}
а затем добавьте "фильтр": "ddocname/filtername" в ваш тело запроса _replicate.
Ответ 3
Я храню свои проектные документы, хранящиеся как .js файлы на диске. Затем я использую couchdb-update-views для обновления проектных документов на сервере
npm install -g couchdb-update-views
couchdb-update-views --config /path/to/config.json --docsDir /path/to/design/docs/directory/