Files
benedetta davico 46b9d5374b Merge pull request #6271 from nymtech/bugfix/data-observatory
Fix migrations in the Data Observatory
2026-02-11 16:02:43 +01:00
..
2025-12-02 21:27:22 +00:00
2025-12-02 21:27:22 +00:00
2025-12-02 21:27:22 +00:00
2026-01-19 13:19:45 +00:00
2025-12-02 21:27:22 +00:00
2025-12-02 21:27:22 +00:00
2025-12-02 21:27:22 +00:00

Quick Start with PostgreSQL

1. Install Prerequisites

# Install sqlx-cli if not already installed
make sqlx-cli

2. Prepare PostgreSQL for Development

# This will:
# - Start PostgreSQL in Docker
# - Run migrations
# - Generate SQLx offline query cache
# - Stop the database
make prepare-pg

3. Build with PostgreSQL

# Build with PostgreSQL feature
make build-pg

# Or manually:
cargo build

4. Run with PostgreSQL

# Start PostgreSQL for development (keeps running)
make dev-db

# In another terminal, run the application
DATABASE_URL=postgres://testuser:testpass@localhost:5433/nym_node_status_api_test \
cargo run

Makefile Targets

make help                # Show all available targets
make prepare-pg         # Setup PostgreSQL and prepare SQLx cache
make dev-db            # Start PostgreSQL for development
make test-db           # Run tests with PostgreSQL
make build-pg          # Build with PostgreSQL
make psql              # Connect to running PostgreSQL
make clean             # Clean build artifacts
make clean-db          # Stop database and clean volumes
make dev-db-restart    # Stop database, clean volumes, rebuild test database and restart

Environment Variables

See .env.example for all configuration options. Key variable:

# For PostgreSQL:
DATABASE_URL=postgres://testuser:testpass@localhost:5433/nym_node_status_api_test

Troubleshooting

SQLx Offline Mode

If you see "no cached data for this query" errors:

  1. Ensure PostgreSQL is running: make dev-db
  2. Run: make test-db-prepare

Connection Refused

If you see "Connection refused" errors:

  1. Check Docker is running: docker ps
  2. Check PostgreSQL container: docker ps | grep nym_node_status_api_postgres_test
  3. Restart database: make test-db-down && make dev-db