Reference¶
dsynq¶
Dsynq PE 0.11.3.467
Synopsis¶
dsynq [-V] [-h]
{status,get,checkout,checkin,delta,init,backup,lock,unlock,compress,remote,config,test}
...
Сommands¶
Dsynq commands.
-
status
¶
Show status.
-
get
¶
Download remote data.
-
checkout
¶
Download remote data and unlock it for editing.
-
checkin
¶
Upload the local changes and lock the local copy.
-
delta
¶
Work with database deltas.
-
init
¶
Initialize Dsynq for the project.
-
backup
¶
Work with backups.
-
lock
¶
Lock the local data.
-
unlock
¶
Unlock the local data.
-
compress
¶
Compress database deltas.
-
remote
¶
Manage remote datastores.
-
config
¶
Work with configurations.
-
test
¶
Run a test. Tests return 0 if successful, not 0 otherwise. Note that a non-zero exit code can be a result of a lower level exception. For example, "dsynq test delta applied" can return a non-zero because of a connection error, not because there are unapplied deltas. Run "dsynq test connections" first to make sure the connection is working. Similarly, before running data-related checks on the remote make sure that it exists by running "dsynq test data remote". Again, remote datastore tests require a working SSH connection, and so on. Error reporting for tests will be improved in the upcoming releases.
dsynq backup¶
Work with backups.
Synopsis¶
dsynq backup [-h] {list,get} ...
dsynq backup get¶
Download a backup by id. If BACKUP_ID is not specified, download the latest backup for the current commit.
Synopsis¶
dsynq backup get [--backup-id BACKUP_ID] [--cygnative [{false,true}]]
[-v [{false,true}]] [-h]
dsynq backup list¶
Show the list of available backups.
Synopsis¶
dsynq backup list [-c COMMIT | --all-commits [{false,true}]]
[--from-timestamp FROM_TIMESTAMP]
[--to-timestamp TO_TIMESTAMP] [-v [{false,true}]]
[-h]
Optional arguments¶
-
-c
COMMIT
,
--commit
COMMIT
¶ Filter by commit. Mutually exclusive with --all-commits. (default: the current commit)
-
--all-commits
[{false,true}]
¶ List backups for all git commits (may output a long list). Mutually exclusive with --commit. (default: false)
-
--from-timestamp
FROM_TIMESTAMP
¶ List backups beginning from timestamp FROM_TIMESTAMP.
-
--to-timestamp
TO_TIMESTAMP
¶ List backups through timestamp TO_TIMESTAMP.
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq checkin¶
Upload the local changes and lock the local copy.
Synopsis¶
dsynq checkin [-m MESSAGE] [--compress [{false,true}]]
[--compress-type {xz,zip}]
[--sync-file-tree [{false,true}]]
[--delete [{false,true}]] [--backup [{false,true}]]
[--cygnative [{false,true}]] [-f [{false,true}]]
[-v [{false,true}]] [-h]
Optional arguments¶
-
-m
MESSAGE
,
--message
MESSAGE
¶ Checkin message (do not use special characters).
-
--compress
[{false,true}]
¶ Compress the database deltas before checkin. (default: true)
-
--compress-type
{xz,zip}
¶ Compression type for .csv database deltas.
-
--sync-file-tree
[{false,true}]
¶ Prepare the remote data by detecting moved files and directories. (default: true)
-
--delete
[{false,true}]
¶ Delete extraneous files from destination directories (rsync --delete). (default: true)
-
--backup
[{false,true}]
¶ Make a remote auto backup. (default: true)
-
--cygnative
[{false,true}]
¶ Use cygnative with Plink connections. (default: true)
-
-f
[{false,true}]
,
--force
[{false,true}]
¶ Force the action. (default: false)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq checkout¶
Download remote data and unlock it for editing.
Synopsis¶
dsynq checkout [--cancel] [-m MESSAGE] [-d DIR]
[--sync-file-tree [{false,true}]]
[--delete [{false,true}]] [--backup [{false,true}]]
[--cygnative [{false,true}]] [-f [{false,true}]]
[-v [{false,true}]] [-h]
Optional arguments¶
-
--cancel
¶
Cancel the current checkout.
-
-m
MESSAGE
,
--message
MESSAGE
¶ Checkout message (do not use special characters).
-
-d
DIR
,
--dir
DIR
¶ Check out a child directory relative to data/ . (default: '*')
-
--sync-file-tree
[{false,true}]
¶ Prepare the local data by detecting moved files and directories. (default: true)
-
--delete
[{false,true}]
¶ Delete extraneous files from destination directories (rsync --delete). (default: true)
-
--backup
[{false,true}]
¶ Make local backup copies of updated files (e.g. file~ for updated file). (default: true)
-
--cygnative
[{false,true}]
¶ Use cygnative with Plink connections. (default: true)
-
-f
[{false,true}]
,
--force
[{false,true}]
¶ Force the action. (default: false)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq compress¶
Compress database deltas.
Synopsis¶
dsynq compress [--decompress] [-D DATABASE] [-n N]
[--compress-type {xz,zip}] [-f [{false,true}]]
[-v [{false,true}]] [-h]
Optional arguments¶
-
--decompress
¶
Decompress database deltas.
-
-D
DATABASE
,
--database
DATABASE
¶ Target database.
-
-n
N
¶ Compress database delta @N where N is the delta's timestamp.
-
--compress-type
{xz,zip}
¶ Compression type for .csv database delta.
-
-f
[{false,true}]
,
--force
[{false,true}]
¶ Force the action. (default: false)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq config view¶
Show the local config environment.
Synopsis¶
dsynq config view [--full] [--databases]
[--output-format {default,yaml,json}]
[-v [{false,true}]] [-h]
Optional arguments¶
-
--full
¶
Include variables absent in configs and their default values.
-
--databases
¶
Include database configurations.
-
--output-format
{default,yaml,json}
¶ Output format. (default: yaml)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq delta¶
Work with database deltas.
Synopsis¶
dsynq delta [-h] {status,apply,reset,new,skip,squash,convert} ...
Сommands¶
Database delta commands.
-
status
¶
Show database delta status.
-
apply
¶
Apply database delta(s).
-
reset
¶
Reset applied database delta(s).
-
new
¶
Create a stub for a new database delta.
-
skip
¶
Skip delta(s) in a database (e.g. the ones already applied during generation).
-
squash
¶
Save the result of sequential database deltas as a new squashed delta.
-
convert
¶
Convert a database delta between .csv and .bin formats.
dsynq delta apply¶
Apply database delta(s).
Synopsis¶
dsynq delta apply [-D DATABASE] [-n N] [--progress [{false,true}]]
[--insert [{false,true}]]
[--on-db-warning {stop,warn,ignore}]
[--vacuum [{false,true}]]
[--autocommit [{false,true}]]
[--reverse [{false,true}]]
[--force-reverse [{false,true}]]
[--omitted [{false,true}]] [-v [{false,true}]] [-h]
Optional arguments¶
-
-D
DATABASE
,
--database
DATABASE
¶ Target database.
-
-n
N
¶ Transition to database delta @N where N is the delta's timestamp.
-
--progress
[{false,true}]
¶ Show progress during apply. (default: false)
-
--insert
[{false,true}]
¶ Use SQL INSERT statements instead of bulk loading. (default: false)
-
--on-db-warning
{stop,warn,ignore}
¶ Action on a database warning during apply (e.g. on a data truncation in MySQL). (default: warn)
-
--vacuum
[{false,true}]
¶ Vacuum/optimize each table after apply. (default: false)
-
--autocommit
[{false,true}]
¶ Split apply into multiple transactions for faster processing. WARNING: Rollbacks of partially applied database deltas are currently not supported. (default: false)
-
--reverse
[{false,true}]
¶ Make reverse database deltas when possible. (default: true)
-
--force-reverse
[{false,true}]
¶ Make reverse database deltas even if they exist. (default: false)
-
--omitted
[{false,true}]
¶ Include previously omitted database deltas (e.g. created earlier but merged later than the last applied). (default: true)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq delta convert¶
Convert a database delta between .csv and .bin formats.
Synopsis¶
dsynq delta convert [--input INPUT] [--output OUTPUT] [--format FORMAT]
[--keep [{false,true}]] [-v [{false,true}]] [-h]
{csv,bin} {bin,csv}
Optional arguments¶
-
--input
INPUT
¶ Input file. (default: <stdin>)
-
--output
OUTPUT
¶ Output file. (default: <stdout>)
-
--format
FORMAT
¶ Format string for converting from .csv to .bin (see https://docs.python.org/3/library/struct.html).
-
--keep
[{false,true}]
¶ Do not remove the input file (requires an output file). (default: false)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq delta new¶
Create a stub for a new database delta.
Synopsis¶
dsynq delta new [-D DATABASE] [--tables [TABLES [TABLES ...]]]
[--meta META [META ...]] [-f [{false,true}]]
[-v [{false,true}]] [-h]
Optional arguments¶
-
-D
DATABASE
,
--database
DATABASE
¶ Target database.
-
--tables
[TABLES [TABLES ...]]
¶ Create a stub database delta only for specific tables (separated by ,). Requires --database DATABASE.
-
--meta
META [META ...]
¶ Add metadata to the new database delta. Use pattern subdict.key=value.
-
-f
[{false,true}]
,
--force
[{false,true}]
¶ Force the action. (default: false)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq delta reset¶
Reset applied database delta(s).
Synopsis¶
dsynq delta reset [-D DATABASE] [--vacuum [{false,true}]]
[--autocommit [{false,true}]] [-v [{false,true}]]
[-h]
Optional arguments¶
-
-D
DATABASE
,
--database
DATABASE
¶ Target database.
-
--vacuum
[{false,true}]
¶ Vacuum/optimize each table after reset. (default: false)
-
--autocommit
[{false,true}]
¶ Split reset into multiple transactions for faster processing. WARNING: Rollbacks of partially reset database deltas are currently not supported. (default: false)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq delta skip¶
Skip delta(s) in a database (e.g. the ones already applied during generation).
Synopsis¶
dsynq delta skip [-D DATABASE] -n N [-v [{false,true}]] [-h]
dsynq delta squash¶
Save the result of sequential database deltas as a new squashed delta.
Synopsis¶
dsynq delta squash [-D DATABASE] [-n N] [--meta META [META ...]]
[-v [{false,true}]] [-h]
Optional arguments¶
-
-D
DATABASE
,
--database
DATABASE
¶ Target database.
-
-n
N
¶ Squash through database delta @N where N is the delta's timestamp.
-
--meta
META [META ...]
¶ Add metadata to the squashed delta. Use pattern subdict.key=value.
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq delta status¶
Show database delta status.
Synopsis¶
dsynq delta status [-v [{false,true}]] [-h]
dsynq get¶
Download remote data.
Synopsis¶
dsynq get [-c COMMIT] [-d DIR] [--exclude [EXCLUDE [EXCLUDE ...]]]
[--delete [{false,true}]] [--sync-file-tree [{false,true}]]
[--backup [{false,true}]] [--cygnative [{false,true}]]
[-v [{false,true}]] [-h]
Optional arguments¶
-
-c
COMMIT
,
--commit
COMMIT
¶ Download the remote data for a specific commit.
-
-d
DIR
,
--dir
DIR
¶ Download a child directory relative to data/ . (default: '*')
-
--exclude
[EXCLUDE [EXCLUDE ...]]
¶ Exclude subdirectories relative to --dir DIR.
-
--delete
[{false,true}]
¶ Delete extraneous files from destination directories (rsync --delete). (default: true)
-
--sync-file-tree
[{false,true}]
¶ Prepare the local data by detecting moved files and directories. (default: true)
-
--backup
[{false,true}]
¶ Make local backup copies of updated files (e.g. file~ for updated file). (default: true)
-
--cygnative
[{false,true}]
¶ Use cygnative with Plink connections. (default: true)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq init¶
Initialize Dsynq for the project.
Synopsis¶
dsynq init [--set-remote SET_REMOTE] [--upgrade] [-f [{false,true}]]
[-v [{false,true}]] [-h]
Optional arguments¶
-
--set-remote
SET_REMOTE
¶ Initialize a remote datastore. Currently Dsynq supports only ssh remotes with rsync and python installed. Use ssh://<username>@<hostname>:<path>.
-
--upgrade
¶
Upgrade the local data and configs.
-
-f
[{false,true}]
,
--force
[{false,true}]
¶ Force the action. (default: false)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq remote¶
Manage remote datastores.
Synopsis¶
dsynq remote [-h] {init,catchup,merge,status,scan,fix} ...
Сommands¶
Remote commands.
-
init
¶
Create a remote datastore.
-
catchup
¶
Promote the remote data from the previous to the current commit.
-
merge
¶
Merge the remote data per the latest git merge commit.
-
status
¶
Show the remote status.
-
scan
¶
Scan the files on the remote. Returns a list of <file>|<modification_timestamp>|<signature>[|<signature>]. Scan's output can be passed on to "dsynq remote fix".
-
fix
¶
Fix broken hard links on the remote and remove duplicated files. Takes an output of "dsynq remote scan" as input.
dsynq remote catchup¶
Promote the remote data from the previous to the current commit.
Synopsis¶
dsynq remote catchup [-v [{false,true}]] [-h]
dsynq remote fix¶
Fix broken hard links on the remote and remove duplicated files. Takes an output of "dsynq remote scan" as input.
Synopsis¶
dsynq remote fix [--min-size MIN_SIZE] [--siblings] [-v [{false,true}]]
[-h]
dsynq remote init¶
Create a remote datastore.
Synopsis¶
dsynq remote init [-v [{false,true}]] [-h] remote_url
Positional arguments¶
dsynq remote merge¶
Merge the remote data per the latest git merge commit.
Synopsis¶
dsynq remote merge [-v [{false,true}]] [-h]
dsynq remote scan¶
Scan the files on the remote. Returns a list of <file>|<modification_timestamp>|<signature>[|<signature>]. Scan's output can be passed on to "dsynq remote fix".
Synopsis¶
dsynq remote scan [--comparison-level {stat,md5}] [--min-size MIN_SIZE]
[--siblings] [-v [{false,true}]] [-h]
Optional arguments¶
-
--comparison-level
{stat,md5}
¶ File comparison level. Stat uses file metadata (faster). MD5 uses file contents (more reliable).
-
--min-size
MIN_SIZE
¶ Skip files smaller than MIN_SIZE bytes. (default: 0)
-
--siblings
¶
Scan other Dsynq projects on the remote besides the current one.
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq remote status¶
Show the remote status.
Synopsis¶
dsynq remote status [--comparison-level {stat,md5}]
[--min-size MIN_SIZE] [-v [{false,true}]] [-h]
Optional arguments¶
-
--comparison-level
{stat,md5}
¶ File comparison level. Stat uses file metadata (faster). MD5 uses file contents (more reliable).
-
--min-size
MIN_SIZE
¶ Skip files smaller than MIN_SIZE bytes. (default: 0)
-
-v
[{false,true}]
,
--verbose
[{false,true}]
¶ Increase verbosity. (default: false)
-
-h
,
--help
¶
Show this help message and exit.
dsynq status¶
Show status.
Synopsis¶
dsynq status [--show-changes] [--delta] [--git] [-v [{false,true}]]
[-h]
dsynq test¶
Run a test. Tests return 0 if successful, not 0 otherwise. Note that a non-zero exit code can be a result of a lower level exception. For example, "dsynq test delta applied" can return a non-zero because of a connection error, not because there are unapplied deltas. Run "dsynq test connections" first to make sure the connection is working. Similarly, before running data-related checks on the remote make sure that it exists by running "dsynq test data remote". Again, remote datastore tests require a working SSH connection, and so on. Error reporting for tests will be improved in the upcoming releases.
Synopsis¶
dsynq test [-h]
{init,version,ssh,data,checkout,connections,git,delta,path}
...
Сommands¶
Test commands.
-
init
¶
Initialization-related checks.
-
version
¶
Version-related checks.
-
ssh
¶
Check if the connection to the remote datastore is working.
-
data
¶
Data-related checks.
-
checkout
¶
Checkout-related checks.
-
connections
¶
Check if all connections in the project settings are working. Outputs the number of working connections.
-
git
¶
Git-related checks.
-
delta
¶
Database delta-related checks.
-
path
¶
Check the path to Dsynq. Outputs the path to Dsynq's home directory.
dsynq test checkout¶
Checkout-related checks.
Synopsis¶
dsynq test checkout [-h] {local,remote} ...
dsynq test checkout local¶
Check if the local data is checked out. Outputs the checkout commit.
Synopsis¶
dsynq test checkout local [--output-format {default,text,json}] [-h]
dsynq test checkout remote¶
Check if the remote data is checked out by anyone. Outputs the checkout user.
Synopsis¶
dsynq test checkout remote [--output-format {default,text,json}] [-h]
Optional arguments¶
-
--output-format
{default,text,json}
¶ Output format. (default: text)
-
-h
,
--help
¶
Show this help message and exit.
dsynq test connections -D DATABASE
Check if all connections in the project settings are working. Outputs the number of working connections.
Synopsis¶
dsynq test connections -D DATABASE
[--output-format {default,text,json}] [-h]
dsynq test data¶
Data-related checks.
Synopsis¶
dsynq test data [-h] {remote,merge,new} ...
dsynq test data merge¶
Check if there is a merge conflict on the remote.
Synopsis¶
dsynq test data merge [-h]
dsynq test data new¶
Check if there is new data available on the remote.
Synopsis¶
dsynq test data new [-h]
dsynq test data remote¶
Check if there is data on the remote for the current commit.
Synopsis¶
dsynq test data remote [-h]
dsynq test delta¶
Database delta-related checks.
Synopsis¶
dsynq test delta [-h] {applied,last,exists,tables,plan,meta} ...
Сommands¶
Test database delta commands.
-
applied
¶
Check if all database deltas are applied.
-
last
¶
Check the last applied database delta. Outputs the last applied database delta.
-
exists
¶
Check if there are database deltas. Outputs the database deltas and the corresponding directories.
-
tables
¶
Check for tables in a database delta. Outputs a list of tables along with the corresponding delta's filename.
-
plan
¶
Check the plan for a "dsynq delta apply".
-
meta
¶
Check metadata for database deltas. Outputs the database delta directory and the select metadata.
dsynq test delta applied -D DATABASE¶
Check if all database deltas are applied.
Synopsis¶
dsynq test delta applied -D DATABASE [-h]
Optional arguments¶
-
-D
DATABASE
,
--database
DATABASE
¶ Target database.
-
-h
,
--help
¶
Show this help message and exit.
dsynq test delta exists -D DATABASE
Check if there are database deltas. Outputs the database deltas and the corresponding directories.
Synopsis¶
dsynq test delta exists -D DATABASE
[--output-format {default,text,json}]
[--reverse] [-h]
dsynq test delta last -D DATABASE¶
Check the last applied database delta. Outputs the last applied database delta.
Synopsis¶
dsynq test delta last -D DATABASE [--output-format {default,text,json}]
[-h]
dsynq test delta meta -D DATABASE --keys KEYS¶
Check metadata for database deltas. Outputs the database delta directory and the select metadata.
Synopsis¶
dsynq test delta meta -D DATABASE --keys KEYS [KEYS ...]
[--output-format {default,text,json}] [-h]
Optional arguments¶
-
-D
DATABASE
,
--database
DATABASE
¶ Target database.
-
--keys
KEYS [KEYS ...]
¶ List of metadata keys to get.
-
--output-format
{default,text,json}
¶ Output format. (default: text)
-
-h
,
--help
¶
Show this help message and exit.
dsynq test delta plan -D DATABASE -n N
Check the plan for a "dsynq delta apply".
Synopsis¶
dsynq test delta plan -D DATABASE -n N
[--output-format {default,text,json}] [-h]
Optional arguments¶
-
-D
DATABASE
,
--database
DATABASE
¶ Target database.
-
-n
N
¶ Database delta @N where N is the delta's timestamp.
-
--output-format
{default,text,json}
¶ Output format. (default: text)
-
-h
,
--help
¶
Show this help message and exit.
dsynq test delta tables -D DATABASE -n N
Check for tables in a database delta. Outputs a list of tables along with the corresponding delta's filename.
Synopsis¶
dsynq test delta tables -D DATABASE -n N
[--output-format {default,text,json}] [-h]
dsynq test git changes¶
Check if there are uncommitted git changes.
Synopsis¶
dsynq test git changes [-h]
dsynq test init¶
Initialization-related checks.
Synopsis¶
dsynq test init [-h] {local,remote} ...
dsynq test init local¶
Check if local initialization has been done. Outputs the project name.
Synopsis¶
dsynq test init local [--output-format {default,text,json}] [-h]
dsynq test init remote¶
Check if remote initialization has been done on the remote datastore. Outputs the corresponding project name on the remote.
Synopsis¶
dsynq test init remote [--output-format {default,text,json}] [-h]
dsynq test path¶
Check the path to Dsynq. Outputs the path to Dsynq's home directory.
Synopsis¶
dsynq test path [--output-format {default,text,json}] [-h]
dsynq test ssh¶
Check if the connection to the remote datastore is working.
Synopsis¶
dsynq test ssh [-h]
dsynq test version¶
Version-related checks.
Synopsis¶
dsynq test version [-h] {local,remote} ...
dsynq test version local¶
Check if the local version is compatible with the remote version.
Synopsis¶
dsynq test version local [-h]