This page is for version 2021-05-23.
For other versions, use one of these documentation indexes:
- 2025-09-18 (default): https://apidocs.polytomic.com/2025-09-18/llms.txt
- 2024-02-08: https://apidocs.polytomic.com/2024-02-08/llms.txt
- 2023-04-25: https://apidocs.polytomic.com/2023-04-25/llms.txt
- 2022-12-12: https://apidocs.polytomic.com/2022-12-12/llms.txt
- 2021-05-23: https://apidocs.polytomic.com/2021-05-23/llms.txt
Supports:
- ✅ Models
- ✅ Model sync destination
- ✅ Bulk sync source
- ✅ Bulk sync destination
Connection
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
account | string | Username | required |
ca_cert | string | Additional CA certificate (optional) PEM root certificate trusted in addition to the system and Amazon RDS roots. | optional |
change_detection | boolean | Use replication for bulk syncs | optional |
dbname | string | Database (optional) | optional |
hostname | string | Hostname | required |
passwd | string | Password | required |
port | integer | Port | required |
ssh | boolean | Connect over SSH tunnel ↓ | optional |
ssl | boolean | Use SSL ↓ | optional |
ssh
When ssh is true:
| Name | Type | Description | Required |
|---|---|---|---|
ssh_host | string | SSH host | required |
ssh_port | integer | SSH port | required |
ssh_private_key | string | Private key | required |
ssh_user | string | SSH user | required |
{"name": "MySQL connection","type": "mysql","configuration": {"account": "admin","ca_cert": "","change_detection": false,"dbname": "mydb","hostname": "database.example.com","passwd": "password","port": 3306,"ssh": true,"ssh_host": "bastion.example.com","ssh_port": 22,"ssh_private_key": "","ssh_user": "root","ssl": true,"ssl_mode": "VERIFY_IDENTITY"}}
ssl
When ssl is true:
| Name | Type | Description | Required |
|---|---|---|---|
ssl_mode | string | SSL mode Accepted values: REQUIRED, VERIFY_CA, VERIFY_IDENTITY | optional |
{"name": "MySQL connection","type": "mysql","configuration": {"account": "admin","ca_cert": "","change_detection": false,"dbname": "mydb","hostname": "database.example.com","passwd": "password","port": 3306,"ssh": false,"ssl": true,"ssl_mode": "VERIFY_IDENTITY"}}
Model Sync
Source
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
query | string | optional | |
table | string | Table | optional |
view | string | View | optional |
Example
{..."configuration": {"query": "SELECT * from users","table": "users","view": "active_users"}}
Target
MySQL connections may be used as the destination in a model sync.
All targets
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
created_column | string | ’Created at’ timestamp column | optional |
preserve_table_on_resync | boolean | Preserve destination table when resyncing | optional |
updated_column | string | ’Updated at’ timestamp column | optional |
write_null_values | boolean | Copy null values When enabled updates will set fields to NULL when the source value is null | optional |
write_record_timestamps | boolean | Write row timestamp metadata | optional |
Example
{..."target": {"configuration": {"created_column": "","preserve_table_on_resync": false,"updated_column": "","write_null_values": false,"write_record_timestamps": false}}}
Target creation
MySQL connections may be used to create a new target for a model sync. The following parameters are required to create a new target:
| NAME | DESCRIPTION | ENUM |
|---|---|---|
| name | Table name | false |
Bulk Sync
Source
MySQL connections may be used as a bulk sync source. No additional configuration options are required.
Destination
Configuration
| Name | Type | Description | Required |
|---|---|---|---|
advanced | object | optional | |
mirror_schemas | boolean | Mirror databases | optional |
schema | string | Output database | optional |
Advanced configuration (advanced)
| Name | Type | Description | Required |
|---|---|---|---|
empty_strings_null | boolean | Write empty strings as null | optional |
hard_deletes | boolean | Propagate hard deletes instead of soft deletes | optional |
initial_execution | string | On first sync | optional |
table_prefix | string | Prefix table names with | optional |
truncate_existing | boolean | Truncate destination table when source table does not have a primary key | optional |
Example
{..."destination_configuration": {"advanced": {"empty_strings_null": true,"hard_deletes": false,"initial_execution": "rebuild","table_prefix": "","truncate_existing": false},"mirror_schemas": false,"schema": "schema"}}
Type handling
Destination types
| POLYTOMIC TYPE | MYSQL TYPE |
|---|---|
array<> | JSON |
bigint | BIGINT |
boolean | BOOLEAN |
date | DATE |
datetime | DATETIME |
decimal(precision, scale) | DECIMAL(precision,scale) |
double | DOUBLE |
int | INT |
json | JSON |
jsonarray | JSON |
number | DECIMAL(65,30) |
object{} | JSON |
single | FLOAT |
smallint | SMALLINT |
string | LONGTEXT |
time | TIME |
Source types
| MYSQL TYPE | POLYTOMIC TYPE |
|---|---|
BIGINT | bigint |
BIT | number |
BLOB | binary |
BLOB | string |
CHAR | string |
DATE | date |
DATETIME | datetime |
DECIMAL(precision, scale) | decimal(precision, scale) |
DOUBLE | double |
ENUM | string |
FLOAT | single |
INT | int |
MEDIUMBLOB | binary |
MEDIUMINT | int |
MEDIUMTEXT | string |
NUMERIC(precision, scale) | decimal(precision, scale) |
SMALLINT | smallint |
TEXT | string |
TIME | time |
TIMESTAMP | datetime |
TINYBLOB | binary |
TINYINT | smallint |
TINYTEXT | string |
UNSIGNED BIGINT | bigint |
UNSIGNED INT | int |
UNSIGNED SMALLINT | smallint |
UNSIGNED TINYINT | smallint |
VARBINARY | binary |
VARCHAR | string |
YEAR | int |
