dap syncdb

Synchronize table data changes to a database.

Automatically retrieves incremental updates of a table, connects to your database, and applies these updates to the target table. This process is handled within a single atomic transaction, ensuring that, in case of an error, the data in your database remains consistent. Only tables that were created by dap initdb can be synchronized using dap syncdb.

Usage

dap [arguments] initdb [flags]

Arguments

--base-url <string> URL to the DAP API endpoint: https://api-gateway.instructure.com. Skip, if DAP_API_URL environment variable is set.

--client-id <string> Client ID obtained from the Identity Service. Skip, if DAP_CLIENT_ID environment variable is set.

--client-secret <string> Client Secret obtained from the Identity Service. Skip, if DAP_CLIENT_SECRET environment variable is set.

Flags

--namespace <string> Specifies the data source (namespace). Available options: {canvas, canvas_log, catalog}.

--table <string> Specifies the table(s) to fetch data from. Can be a single table name, a comma separated list of table names or the special all keyword to fetch all tables in the namespace.

--connection-string <string> The connection string used to connect to the target database. It must follow RFC 3986 format: dialect://username:password@host:port/database. Skip, if DAP_CONNECTION_STRING environment variable is set.

Inherited Flags

-h, --help Displays help information for the command.

Examples

Get new or modified records of the courses table from the canvas namespace and insert into your database: $ dap syncdb --namespace canvas --table courses

Get new or modified records of multiple tables or all tables of the canvas namespace: $ dap snapshot --namespace canvas --table courses,users,wikis $ dap snapshot --namespace canvas --table all

Same example with the connection string defined in the command $dap syncdb --namespace canvas --table courses --connection-string postgresql://scott:password@server.example.com/testdb

Last updated

Was this helpful?