JDBC (MySQL, Postgres)

Sync your indexed and processed entities to a JDBC-compatible database like PostgreSQL
To sync your data to MySQL or Postgres using JDBC:
  1. 1.
    Follow the instructions in the main page.
  2. 2.
    Add the mysql.password (or postgres.password) secret to your cluster:
flair secret set -n mysql.password -v XXXXXXXXXXX
  1. 3.
    Change the connector url depending on the DB engine, anywhere you have a "sink", i.e. in both streaming and batch .sql files:
CREATE TABLE sink_Swap (
`entityId` STRING,
`entityUpdatedAt` BIGINT,
`chainId` INT,
`contractAddress` STRING,
`horizon` STRING,
`blockNumber` BIGINT,
`blockTimestamp` BIGINT,
`forkIndex` INT,
`transactionIndex` INT,
`logIndex` INT,
`localIndex` INT,
`txHash` STRING,
`txTo` STRING,
`txFrom` STRING,
`assetId` STRING,
`resolver` STRING,
) WITH (
'connector' = 'jdbc',
'url' = 'jdbc:mysql://DB_HOST_HERE/DB_NAME_HERE', // or 'jdbc:postgresql://DB_HOST_HERE/DB_NAME_HERE'
'table-name' = 'my_swaps',
'username' = 'USERNAME',
'password' = '{{ secret("mysql.password") }}', // or {{ secret("postgres.password") }}
'sink.max-retries' = '10',
'sink.buffer-flush.interval' = '60s'
Make sure to replace HOST, DB, USERNAME, with your DB host, database name, username respectively.
Last modified 17d ago