Tabli - Data Upsert Command

Undraw Windows

About

data upsert is a Tabli command that supports the upsert data operation where the data to upsert 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 upsert.

Prerequisites

  • The source should have data for the target constrained columns (ie not null, unique)
  • The target should have a primary key column or a unique column

Syntax

tabli data upsert -h
Tabli data upsert
=================

Merge one or more data resources into other data resources.

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



Examples
--------

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


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


 2 - To merge the file `foo.csv` into the `sqlite` table `foo`, you would execute


        tabli data upsert foo.csv foo@sqlite




Syntax
------


    tabli data upsert [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




Related HowTo
Undraw Windows
Learning Tabulify - Step 8 - How to modify the content of a table

Tabulify learning guidetransfer step The transfer page should have made you familiar with the transfer concept where we have introduced the copy operation. The copy and move operation does not modify...

Task Runner