Tabli - Data Upsert Command

Undraw Windows

About

data upsert is a tabli command that supports the insert data operation where the data to insert are defined in a source data resource.

This is an alias command of the data transfer command where the transfer-operation option has been set to insert.

Prerequisites

  • The source should have data for the target constrained columns (ie not null, unique)

Syntax

tabli data insert -h
Tabli data insert
=================

Insert one or more data resources into other data resources.

Note: This is an alias command to the `transfer` command with the `insert` transfer operation.



Examples
--------

 1 - To insert the table `time` from the data store `sqlite` into the file `time.csv`, you would execute


        tabli data insert time@sqlite time.csv


 2 - To insert the result of the Sql query `query_11.sql` into the Sql table `analytics`, you would execute


        tabli data insert (query_11.sql)@sqlite analytics@sqlite


 3 - To insert the file `foo.txt` into the file `bigfoo.txt`, you would execute


        tabli data insert foo.txt bigfoo.txt




Syntax
------


    tabli data insert [options|flags] <source-selector> <target-data-uri>


where:


  Arguments:

    <source-selector>                                       A data selector that select the data resources to transfer

    <target-data-uri>                                       A target data URI that defines the destination (Example: [table]@connection). If the target data uri has no name, the name will be the name of the source.


  Cross Data Transfer Options:

    -bs,--buffer-size <bufferSize>                          defines the size of the memory buffer between the source and target threads

    -mdu,--metrics-data-uri <metricsDataUri>                defines a target data uri where the data metrics should be exported

    -sfs,--source-fetch-size <fetchSize>                    defines the fetch size against the source connection

    -tbs,--target-batch-size <batchSize>                    defines the batch size against the target data resource

    -tcf,--target-commit-frequency <commitFrequency>        defines the commit frequency in number of batches against the target data resource

    -tw,--target-worker <targetWorkerCount>                 defines the target number of thread against the target connection

    -wbv,--with-bind-variables                              defines if bind variables are used in the SQL statement


  Data Definition Options:

    -sa,--source-attribute <attributeName=value>            Set a source data resource attribute

    -ta,--target-attribute <attributeName=value>            Set a target data resource attribute


  Transfer Operation Options:

    -so,--source-operation <value>                          defines the data operation (drop or truncate) on the source after transfer. Note: A `move` operation will drop the source.

    -to,--target-operation <targetDataOperation>            defines the data operations (replace, truncate) on the existing target before transfer.


  Selection Options:

    -wd,--with-dependencies                                 If set, the dependencies will be also selected


  Global Options:

    -cf,--conf <path>                                       The path to a configuration file

    -cv,--connection-vault <path>                           The path where the connection vault is located

    -h,--help                                               Print this help

    -l,--log-level <error|warning|tip|info|fine>            Set the log level

    -ns,--not-strict                                        A minor error will not stop the process.

    -odu,--output-data-uri <outputDataUri>                  defines the output data uri for the feedback data (default: console)

    -oo,--output-operation <dataOperation>                  defines the data operations (replace, truncate) on an existing output resource before transfer.

    -oop,--output-transfer-operation <transferOperation>    defines the output transfer operation (insert, update, merge, copy). Default to `copy` for a file system and `insert` for a database.

    -pp,--passphrase <passphrase>                           A passphrase (master password) to decrypt the encrypted values

Task Runner