개발을 위해 couchDB라는 디렉토리에있는 다른 개발 코드와 함께 couchDB 디자인 문서를 별도의 파일로 구성하는 다양한 구성 요소 (views
, lists
, shows
)를 유지하고 싶습니다. 변경 사항이 만족 스럽다면 couchapp.push를 사용하여 데이터베이스에 보내고 디자인 도큐멘트 구성 요소 파일을 버전 제어 할 수 있습니다.couchDB designDoc 개발 워크 플로 및 버전 관리
노드 모듈 'couchapp'과 노드를 사용하여 .js 파일에 대한 디렉토리와 서브 디렉토리를 스캔 한 다음 디자인 문서를 작성하고 couchDB에 업로드하는 방법을 생각해 봅니다. 아마도 하위 DIRS 너무 같은 구조 :
designDocsJs
|-- views
| |--view1.js
| |--view2.js
|-- shows
|-- lists
이 같은 파일의 예에서지도를 넣어 줄일 수있다. 'view1.js'
또는 별도의 파일 'view1-map.js'
및 'view1-reduce.js'
에 있어야합니까?
Curretnly 나는 다음을 사용하고 있지만 노드를 사용하여 .js 파일을 읽고 동적으로 ddoc.views {}에 추가하는 방법을 모르겠다. 특히 자바 스크립트/노드 솔루션을 사용하면 모든 안내가 도움이 될 것입니다.
var couchapp = require('couchapp')
, path = require('path');
ddoc = {
_id: '_design/entitiesNew'
, views: {}
, lists: {}
, shows: {}
}
// node module exports
module.exports = ddoc;
// REPLACE ME WITH SOME WAY OF READING A
// STRUCTURED DIR OF .JS FILES AND COMBINING
// AS NECESSARY
ddoc.views.byType = {
map: function(doc) {
emit(doc.type, null);
},
reduce: '_count'
}
couchapp.loadAttachments(ddoc, path.join(__dirname, '_attachments'));
다음 :
$ cd path/to/here
$ mkdir _attachments
$ couchapp push updateCouchDbDesigndocs.js http://localhost:5984/databaseName
'couchapp' 도구에 필요한 실제 구조 (map 및 reduce는 폴더의 고유 파일 임)에 정확히 무엇이 있습니까? 자신의 도구를 쓸 가치가 있습니까? –
어떻게 내 couchDB '_design/doc/_view'소스 파일을 웹 개발 워크 플로우에서 다른 모든 스크립트 파일을 관리하는 것과 유사한 방법으로 단일 문서로 관리 할 수 있는지 알고 싶습니다. git 버전 제어 및 빌드/make/grunt 스크립트. – johowie
답변에 대한 귀하의 의견을 볼 때, 나는 그것을 사용하는 방법을 모른 채'couchapp'를 사용했다는 것을 알고 있습니다. 'couchapp'와 함께 즐겁게 ... 그리고 RTFM을 절대 잊지 마세요) –