Files
aitbc/apps/coordinator-api/migrations
aitbc 8a0f9947f5 Add __init__.py files to bare Python packages
Added __init__.py files to directories with Python files that were
missing them to fix imports and pytest discovery:

- apps/agent-coordinator/src/app and subdirectories (auth, monitoring, protocols, routing)
- apps/coordinator-api/src/app/agent_identity, reputation, utils
- apps/wallet/src/app/keystore, crypto, receipts
- apps/pool-hub/src/poolhub/services
- Test directories for agent-coordinator, blockchain-node, coordinator-api, pool-hub, wallet
- Source directories for agent-services and ai-engine
- blockchain-node subdirectories (contracts, economics, network, rpc)
- Migration directories for blockchain-node, coordinator-api, pool-hub

This improves import reliability and reduces the need for sys.path
manipulation in conftest.py.
2026-04-30 10:34:11 +02:00
..

Coordinator API Migrations

Database migration scripts for the Coordinator API.

Files

File Description
001_initial_schema.sql Initial database schema (tables)
002_indexes.sql Performance indexes
003_data_migration.py Data migration utilities

Running Migrations

Prerequisites

  • PostgreSQL 14+
  • Python 3.10+ (for data migrations)
  • asyncpg package

Apply Schema

# Connect to database
psql -h localhost -U aitbc -d coordinator

# Run migrations in order
\i 001_initial_schema.sql
\i 002_indexes.sql

Run Data Migrations

# Install dependencies
pip install asyncpg

# Backfill job history
python 003_data_migration.py --action=backfill_history

# Update miner statistics
python 003_data_migration.py --action=update_stats

# Run all maintenance tasks
python 003_data_migration.py --action=all

# Migrate from SQLite
python 003_data_migration.py --action=migrate_jobs --input-file=/path/to/jobs.db

# Migrate receipts from JSON
python 003_data_migration.py --action=migrate_receipts --input-file=/path/to/receipts.json

Schema Overview

Tables

  • jobs - AI compute jobs
  • miners - Registered GPU miners
  • receipts - Cryptographic receipts
  • blocks - Blockchain blocks
  • transactions - On-chain transactions
  • api_keys - API authentication
  • job_history - Event history for analytics

Key Indexes

  • idx_jobs_pending - Fast pending job lookup
  • idx_miners_available - Available miner selection
  • idx_receipts_provider_created - Miner receipt history
  • idx_receipts_client_created - Client receipt history

Rollback

To rollback migrations:

-- Drop all tables (DESTRUCTIVE)
DROP TABLE IF EXISTS job_history CASCADE;
DROP TABLE IF EXISTS api_keys CASCADE;
DROP TABLE IF EXISTS transactions CASCADE;
DROP TABLE IF EXISTS blocks CASCADE;
DROP TABLE IF EXISTS receipts CASCADE;
DROP TABLE IF EXISTS miners CASCADE;
DROP TABLE IF EXISTS jobs CASCADE;