Подтвердить что ты не робот

Как копировать только проектные документы?

Итак, я хочу реплицировать некоторые изменения, внесенные в мои файлы дизайна от разработчика до производства (a.k.a. Я хочу что-то развернуть).

Я как-то запутался, так как мои исследования не привели к каким-либо конкретным результатам. Хотя это швы IMHO, как довольно очевидный вариант использования.

Я что-то пропустил?

4b9b3361

Ответ 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/