Schemas and utils for IPLD ETH Postgres database
.github/workflows | ||
db | ||
scripts | ||
.gitignore | ||
docker-compose.test.yml | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
schema.sql | ||
vulcanize_db.png | ||
vulcanize_db.uml |
ipld-eth-db
Schemas and utils for IPLD ETH Postgres database
Database UML
Run
-
Remove any existing containers / volumes:
docker-compose down -v --remove-orphans
-
Spin up an access node and three data nodes using docker-compose.test.yml:
docker-compose -f docker-compose.test.yml up timescale-test-db pg_data_node_1 pg_data_node_2 pg_data_node_3
Following final output should be seen on all the nodes:
LOG: TimescaleDB background worker launcher connected to shared catalogs
-
Edit startup_script.sh to change the number of migrations to be run:
./goose -dir migrations/vulcanizedb postgres "$VDB_PG_CONNECT" up-to 22
-
In another
ipld-eth-db
terminal window, build an imagemigrations-test
using Dockerfile:docker build -t migrations-test -f ./db/Dockerfile .
-
After the access and data nodes have spun up, start a container using
migrations-test
image to run the db migrations:# Here, we are running the container using host network. # So connect to access node on 127.0.0.1:8066 docker run --rm --network host -e DATABASE_USER=postgres -e DATABASE_PASSWORD=password -e DATABASE_HOSTNAME=127.0.0.1 -e DATABASE_PORT=8066 -e DATABASE_NAME=vulcanize_testing_v4 migrations-test