db_replicate: Upload (replicate) a local database to a remote database...

View source: R/db_replicate.r

db_replicateR Documentation

Upload (replicate) a local database to a remote database server, e.g., Cloudant, Iriscouch

Description

Upload (replicate) a local database to a remote database server, e.g., Cloudant, Iriscouch

Usage

db_replicate(from, to, dbname, createdb = FALSE, as = "list", ...)

Arguments

from

Couch to replicate from. An object of class Cushion. Required.

to

Remote couch to replicate to. An object of class Cushion. Required.

dbname

(character) Database name. Required.

createdb

If TRUE, the function creates the db on the remote server before uploading. The db has to exist before uploading, so either you do it separately or this fxn can do it for you. Default: FALSE

as

(character) One of list (default) or json

...

Curl args passed on to crul::HttpClient

Value

JSON as a character string or a list (determined by the as parameter)

Examples

## Not run: 
if (interactive()) {
## create a connection
user <- Sys.getenv("COUCHDB_TEST_USER")
pwd <- Sys.getenv("COUCHDB_TEST_PWD")
(x <- Cushion$new(user=user, pwd=pwd))

# Create a database locally
db_list(x)
if ("hello_earth" %in% db_list(x)) {
  invisible(db_delete(x, dbname="hello_earth"))
}
db_create(x, 'hello_earth')

## replicate to a remote server
z <- Cushion$new(host = "ropensci.cloudant.com", transport = 'https',
  port = NULL, user = 'ropensci', pwd = Sys.getenv('CLOUDANT_PWD'))

## do the replication
db_replicate(x, z, dbname = "hello_earth")

## check changes on the remote
db_list(z)
db_changes(z, dbname = "hello_earth")

## make some changes on the remote
doc_create(z, dbname = "hello_earth",
  '{"language":"python","library":"requests"}', 'stuff')
changes(z, dbname = "hello_earth")

## create another document, and try to get it
doc_create(z, dbname = "hello_earth", doc = '{"language":"R"}',
  docid="R_rules")
doc_get(z, dbname = "hello_earth", docid='R_rules')

## cleanup - delete the database
db_delete(z, 'hello_earth')
}

## End(Not run)

ropensci/sofa documentation built on March 10, 2024, 4:26 a.m.