MoveDatabase

MoveDatabase( from, to )
MoveDatabase( from, to )
move_database( from, to )
MoveDatabase( from, to )

Description

The MoveDatabase function moves the from database into the to database, making from a child database of to.

You must use an admin key that has access to the from database or MoveDatabase fails.

Parameters

Parameter Type Definition and Requirements

from

Database Reference

A database reference for the database to be moved.

to

Database Reference

A database reference for the new parent database of from.

Returns

A database reference for the moved database.

Examples

The following example creates the stamps database and the hobbies database, and then moves the stamps database into the hobbies database:

var refField = f.ObjKey("ref")
var stampsRef, hobbiesRef f.RefV

stamps, err := client.Query(
	f.CreateDatabase(f.Obj{"name": "stamps"}))

if err != nil {
	fmt.Fprintln(os.Stderr, err)
}

_ = stamps.At(refField).Get(&stampsRef)

hobbies, err := client.Query(
	f.CreateDatabase(f.Obj{"name": "hobbies"}))

if err != nil {
	fmt.Fprintln(os.Stderr, err)
}

_ = hobbies.At(refField).Get(&hobbiesRef)

result, err := client.Query(
	f.MoveDatabase(stampsRef, hobbiesRef))

if err != nil {
	fmt.Fprintln(os.Stderr, err)
} else {
	fmt.Println(result)
}
map[global_id:yx18twpc4ydyy name:stamps ref:{stamps 0xc0001566f0 0xc0001566f0 0xc000156750} ts:1603747252180000]
Promise.all([
  client.query(
    q.CreateDatabase({ name: 'stamps' })
  ),
  client.query(
    q.CreateDatabase({ name: 'hobbies' })
  ),
])
.then(([stamps, hobbies]) => client.query(
  q.MoveDatabase(stamps.ref, hobbies.ref)
))
.then((ret) => console.log(ret))
.catch((err) => console.error(
  'Error: [%s] %s: %s',
  err.name,
  err.message,
  err.errors()[0].description,
))
{
  ref: Database("stamps", Database("hobbies")),
  ts: 1592113609950000,
  name: 'stamps',
  global_id: 'yqh1r886wybyy'
}
stamps = client.query(
  q.create_database({"name": "stamps"})
)
hobbies = client.query(
  q.create_database({"name": "hobbies"})
)
result = client.query(
  q.move_database(stamps["ref"], hobbies["ref"])
)
print(result)
{'ref': Ref(id=stamps, collection=Ref(id=databases), database=Ref(id=hobbies, collection=Ref(id=databases))), 'ts': 1592874958520000, 'name': 'stamps', 'global_id': 'yq79oce4qybyy'}
Do(
  CreateDatabase({ name: 'stamps' }),
  CreateDatabase({ name: 'hobbies' }),
  MoveDatabase(Database('stamps'), Database('hobbies'))
)
{
  ref: Database("stamps", Database("hobbies")),
  ts: 1624450808280000,
  name: 'stamps',
  global_id: 'yoa31tgqgybyy'
}
Query metrics:
  •    bytesIn:  155

  •   bytesOut:  230

  • computeOps:    1

  •    readOps:    0

  •   writeOps:    2

  •  readBytes:  323

  • writeBytes:  952

  •  queryTime: 46ms

  •    retries:    0

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email docs@fauna.com

Thank you for your feedback!