Skip to main content
Glama
jjsteffen23

CME Prediction Markets MCP Server

by jjsteffen23
verify_schema.py2.88 kB
#!/usr/bin/env python3 """Verify database schema changes.""" import asyncio import sys from pathlib import Path # Add src to path sys.path.insert(0, str(Path(__file__).parent / "src")) from src.data.models.database import get_db from src.data.models.contracts import Contract from src.data.models.trades import Trade from sqlalchemy import inspect, text import structlog logger = structlog.get_logger() async def verify_schema(): """Verify that the new fields exist in the database.""" try: db_gen = get_db() db = await db_gen.__anext__() try: # Use raw SQL to check table structure contracts_result = await db.execute(text(""" SELECT column_name, data_type, is_nullable FROM information_schema.columns WHERE table_name = 'contracts' ORDER BY column_name; """)) trades_result = await db.execute(text(""" SELECT column_name, data_type, is_nullable FROM information_schema.columns WHERE table_name = 'trades' ORDER BY column_name; """)) print("=== CONTRACTS TABLE SCHEMA ===") for row in contracts_result: print(f"{row.column_name:30} {row.data_type:20} {row.is_nullable}") print("\n=== TRADES TABLE SCHEMA ===") for row in trades_result: print(f"{row.column_name:30} {row.data_type:20} {row.is_nullable}") # Check for specific new fields new_contract_fields = ['instrument_guid_long', 'instrument_long_name'] new_trade_fields = ['instrument_guid_long', 'count_clr_trade_id', 'trade_date'] contracts_columns = [row.column_name for row in await db.execute(text("SELECT column_name FROM information_schema.columns WHERE table_name = 'contracts'"))] trades_columns = [row.column_name for row in await db.execute(text("SELECT column_name FROM information_schema.columns WHERE table_name = 'trades'"))] print(f"\n=== VERIFICATION ===") print(f"✅ New Contract Fields:") for field in new_contract_fields: status = "✅" if field in contracts_columns else "❌" print(f" {status} {field}") print(f"✅ New Trade Fields:") for field in new_trade_fields: status = "✅" if field in trades_columns else "❌" print(f" {status} {field}") finally: await db.close() except Exception as e: logger.error("schema_verification_failed", error=str(e)) raise if __name__ == "__main__": asyncio.run(verify_schema())

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jjsteffen23/dk_mcp_2'

If you have feedback or need assistance with the MCP directory API, please join our Discord server