StarDump CLI

Introduction

StarDump CLI is a command-line interface that unloads and reloads database data. It's found in C:\Program Files\Starcounter\StarDump.

The data is unloaded into sqlite3 files that can be examined or modified with DB Browser for SQLite.

All examples on this page assume that you have C:\Program Files\Starcounter\StarDump as an environment variable.

The general format for the StarDump CLI looks like this:

stardump [command] [options]

There are two commands, unload and reload, and both of them have their own options.

Unload Database

The unload command takes a Starcounter database and creates a sqlite3 file with the data. Running stardump unload without any options will unload the default database to %TEMP%\stardump-<database>-<date>.sqlite3. To specify the unload further, these options can be used:

Name

Type

Default value

Description

-db, --database

string

default

Database name to unload

-f, --file

string

%TEMP%\stardump-<database>-<date>.sqlite3

Output file path with file name

-b, --buffersize

int

500

Number of rows in a single INSERToperation

-scp, --skipcolumnprefixes

string[]

__

Column prefixes to skip

-stp, --skiptableprefixes

string[]

Table prefixes to skip

-st, --skiptables

string[]

Table names to skip

-ut, --unloadtables

string[]

Table names to unload

-V, --verbose

int

2

Verbose mode, higher number prints more [Error:0, Warning:1, Notice:2, Info:3, Debug:4]

The option values are case sensitive. Also, unloadtablesdisables skiptableprefixes and unloadtables if they are used together. string[] values should be space or comma separated.

Example of unload:

stardump unload --database default --file C:\Temp\default.sqlite3

The targeted database can either be running or stopped when it's unloaded. If the database is running, StarDump creates a snapshot of the database when the unload starts so that no changes made during the unload are included.

You can use stardump unload --help to get more information about the available options.

Reload Database

The reload command takes a sqlite3 file and reloads it into a Starcounter database. The basic structure of a reload looks like this:

stardump reload --database [DatabaseName] --file [FilePath]

The --database and --file option always have to be specified.

These are all options for the reload command:

Name

Type

Description

-db, --database

string

Database name to reload into

-f, --file

string

Path to sqlite3 file to reload

-fr, --forcereload

none

Force reload even if the database already contains data. The user has to take care of object ID uniqueness.

-offset, --insertobjectnooffset

long

ObjectNo offset in the target database

-reassign, --reassignobjectno

none

Sets the ObjectNo offset to the highestObjectNo in the target database -noschema, --skipschema

-noschema, --skipschema

none

If flag is set, then schema creation and validation will be skipped. In --skipschema mode, StarDump reloads data of matching tables and columns between existing Starcounter database and reloading dump.

-V, --verbose

int

Verbose mode, higher number prints more [Error:0, Warning:1, Notice:2, Info:3, Debug:4]

None of these are have a default value except for --verbose which is set to 2.

If --forcereload is not used, the database should be dropped and created prior to reload to ensure that the database is empty:

staradmin -d=default delete --force db
staradmin -d=default new db DefaultUserHttpPort=8080
stardump reload --database default --file C:\Temp\default.sqlite3

You can use stardump reload--help to get more information about the available options.