Command line tool
Besides the dashboard, RethinkDB gives us some command line utility to interactive with it. Some of them are:
- import
- export
- dump
- restore
import
In the spirit of giving users the dashboard, RethinkDB also gives us some sample data. You can download the data in file input_polls and country_stats at https://github.com/rethinkdb/rethinkdb/tree/next/demos/election and import them into test database
1 rethinkdb import -c localhost:28015 --table test.input_polls --pkey uuid -f inpu\
2 t_polls.json --format json
3 rethinkdb import -c localhost:28015 --table test.county_stats --pkey uuid -f cou\
4 nty_stats.json --format json
Notice the --table argument, we are passing the table name in format of
database_name.*table_name”. In our case, we import the data into two tables:
input_polls and county_stats inside database test.
Basically you can easily import any file contains a valid JSON document.
export
export exports your database into many JSON files, each file is a table. The
JSON file can be import using above import command.
dump
dump will just export whole of data of a cluster, it’s similar to an export
command, then follow by gzip to compress all JSON output file. Syntax is as
easy as.
1 rethinkdb dump -c 127.0.0.1:28015
Here is an example output when I run this command:
1 rethinkdb dump -c 127.0.0.1:28015
2 NOTE: 'rethinkdb-dump' saves data and secondary indexes, but does *not* save
3 cluster metadata. You will need to recreate your cluster setup yourself after
4 you run 'rethinkdb-restore'.
5 Exporting to directory...
6 [========================================] 100%
7 764509 rows exported from 9 tables, with 21 secondary indexes
8 Done (157 seconds)
9 Zipping export directory...
10 Done (5 seconds)
The dump result is a gzip file whose name is in format rethinkdb_dump_{timestamp}.tar.gz
It’s very useful when you want to try out something and get back your original data.
Note it here because you will need it later.
restore
Once we got the dump file with dump command. We can restore with:
1 rethinkdb restore -c 127.0.0.1:28015 rethinkdb_dump_DATE_TIME.tar.gz