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.
- The target should have a primary key column or a unique column
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 [email protected] 2 - To merge the file `foo.csv` into the `sqlite` table `foo`, you would execute tabli data upsert foo.csv [email protected] 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