FQL v4 will be decommissioned on June 30, 2025. Ensure that you complete your migration from FQL v4 to FQL v10 by that date.

For more details, review the migration guide. Contact support@fauna.com with any questions.

MoveDatabase

This reference topic applies to FQL v4. Go to this page for the latest FQL v10 reference topics.

MoveDatabase( from, to )
move_database( from, to )
MoveDatabase( from, to )
MoveDatabase( 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:

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'}
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]
try
{
    Field<RefV> refField = Field.At("ref").To<RefV>();

    Value stamps = await client.Query(
        CreateDatabase(Obj("name", "stamps"))
    );
    Value hobbies = await client.Query(
        CreateDatabase(Obj("name", "hobbies"))
    );
    Value result = await client.Query(
        MoveDatabase(stamps.Get(refField), hobbies.Get(refField))
    );
    Console.WriteLine(result);
}
catch (Exception e)
{
    Console.WriteLine($"ERROR: {e.Message}");
}
ObjectV(ref: RefV(id = "stamps", collection = RefV(id = "databases"), database = RefV(id = "hobbies", collection = RefV(id = "databases"))),ts: LongV(1603756596430000),name: StringV(stamps),global_id: StringV(yx1edqz3rydyy))
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!