1+ #! /bin/bash
12set -euo pipefail
23
34# ## generate pgpass file
3132
3233
3334 DB_MAX_BLOCK=$( psql -h $PGHOST $PGDATABASE -U $PGUSER -t -c ' select max (block_no) from block;' )
35+ # Ensure DB_MAX_BLOCK is a valid integer, if not, exit with an error
36+ if ! [[ " $DB_MAX_BLOCK " =~ ^[0-9]+$ ]]; then
37+ echo " Block in db:" $DB_MAX_BLOCK
38+ DB_MAX_BLOCK=0
39+ fi
3440 NODE_CUR_BLOCK=0
3541 while [ $NODE_CUR_BLOCK -lt $DB_MAX_BLOCK ]; do
3642 NODE_STATUS=" $( cardano-cli query tip --mainnet 2> /dev/null || true) "
@@ -54,7 +60,7 @@ CONFIG_HOME="/environments"
5460if [ -z " ${NETWORK:- } " ]; then
5561 echo " NETWORK is not set, defaulting to mainnet"
5662 NETWORK=" mainnet"
57- NO_NETWORK_SET=1
63+ NO_NETWORK_SET=" 1 "
5864else
5965 echo " NETWORK is set to $NETWORK "
6066fi
7682if [[ -z " ${DB_SYNC_CONFIG:- } " ]]; then
7783 DB_SYNC_CONFIG=" $CONFIG_HOME /$NETWORK "
7884
79- elif [[ -z " ${NO_NETWORK_SET} " ]]; then # dbsync config is set and network is not
85+ elif [[ -z " ${NO_NETWORK_SET:- } " ]]; then # dbsync config is set and network is not
8086 DB_SYNC_CONFIG=" $CONFIG_HOME "
8187
8288else # # both NETWORK and DB_SYNC_CONFIG are set
@@ -90,9 +96,17 @@ else ## both NETWORK and DB_SYNC_CONFIG are set
9096fi
9197
9298
93- SCHEMA_DIR=$( find /nix/store -name -type d ' *-schema' ) }
99+ SCHEMA_DIR=$( find /nix/store -name ' *-schema' ) }
94100
95- exec cardano-db-sync \
101+
102+ echo > cardano-db-sync \
103+ --config " $DB_SYNC_CONFIG " \
104+ --socket-path " $CARDANO_NODE_SOCKET_PATH " \
105+ --schema-dir ${SCHEMA_DIR} \
106+ ${LEDGER_OPTS} \
107+ ${EXTRA_DB_SYNC_ARGS:- }
108+
109+ exec cardano-db-sync \
96110 --config " $DB_SYNC_CONFIG " \
97111 --socket-path " $CARDANO_NODE_SOCKET_PATH " \
98112 --schema-dir ${SCHEMA_DIR} \
0 commit comments