Dear wiki user,

You have subscribed to a wiki page "Couchdb Wiki" for change notification.

The page "How_to_deploy_view_changes_in_a_live_environment" has been deleted by 
JoanTouzet:

https://wiki.apache.org/couchdb/How_to_deploy_view_changes_in_a_live_environment?action=diff&rev1=7&rev2=8

Comment:
Migrated to https://docs.couchdb.org/en/stable/best-practices/index.html , see 
https://github.com/apache/couchdb-documentation/pull/370

- <<Include(EditTheWiki)>>
  
- When needing to upload changes to an existing design document, to avoid 
having everything hang for potentially hours while generating the views - 
follow the descriptions below:
- 
- == Background information: ==
- 
- CouchDB view index filenames are based on the contents of the design document 
(not its name, ID or revision). This means that two design documents with 
identical view code will share view index files.
- 
- == Approach: ==
- 
- '''Example:'''
- http://localhost:5984/database/_design/ddoc needs to be updated
- 
- So the simple approach is:
-  1. Upload the old design doc to '''_design/ddoc-old''' (or copy 
'''_design/ddoc''' to '''_design/ddoc-old''') if you want an easy way to 
rollback in case of problems. This will cause the view indexes for 
'''_design/ddoc''' to be shared with '''_design/ddoc-old'''.
-  2. Upload the updated design doc to '''_design/ddoc-new'''.
-  3. Query a view in '''_design/ddoc-new''' to trigger view index generation. 
You can track the indexing progress via Futon at 
http://localhost:5984/_utils/status.html or by requesting 
http://localhost:5984/_active_tasks directly.
-  4. Reupload the updated design doc to '''_design/ddoc''' (or copy 
'''_design/ddoc-new''' to '''_design/ddoc''') when view index generation is 
complete. This will cause the indexes built for '''_design/ddoc-new''' to be 
shared with '''_design/ddoc'''. The updated design doc is now live with view 
indexes ready to go!
-  5. Delete '''_design/ddoc-new''' and/or '''_design/ddoc-old''' at your 
discretion. Don't forget to also run a clean-up to reclaim the disk space used 
by their view indexes: http://wiki.apache.org/couchdb/HTTP_view_API#View_Cleanup
- 
- To copy a document use:
-  curl -X COPY <URL of source design document> -H "Destination: <ID of 
destination design document>"
- 
- When copying a document to an already existing destination, you'll also need 
to supply the revision of the document you want to overwrite:
-  curl -X COPY <URL of source design document> -H "Destination: <ID of 
destination design document>?rev=<revision>"
- 
- Example: copy http://localhost:5984/database/_design/ddoc to 
http://localhost:5984/database/_design/ddoc-old:
-  curl -X COPY http://localhost:5984/database/_design/ddoc -H "Destination: 
_design/ddoc-old"
- 
- '''Note: This approach will work for normal couch views, couchdb-lucene views 
(fulltext), and should also work for bigcouch clusters - to my understanding'''
- 

Reply via email to