Files
aitbc/cli/commands/database.py
aitbc 718b04571a
Some checks failed
CLI Tests / test-cli (push) Has started running
Cross-Node Transaction Testing / transaction-test (push) Successful in 2s
Deploy to Testnet / deploy-testnet (push) Successful in 1m9s
Documentation Validation / validate-docs (push) Failing after 9s
Documentation Validation / validate-policies-strict (push) Successful in 4s
Multi-Node Stress Testing / stress-test (push) Successful in 3s
Node Failover Simulation / failover-test (push) Successful in 2s
Security Scanning / security-scan (push) Successful in 29s
Standardize command module docstrings and clean up imports
- Update all command module docstrings to consistent format ending with "for AITBC CLI"
- Remove unused imports (json, httpx, pydantic) from multiple command modules
- Reorder imports to group utils imports together
- Change sys.path in click_cli.py from /opt/aitbc to /opt/aitbc/cli
- Fix relative imports in cross_chain.py and ipfs.py to use .config
2026-05-08 11:17:33 +02:00

62 lines
1.6 KiB
Python

"""Database service commands for AITBC CLI"""
import click
from utils import output, error, success, warning
@click.group()
def database():
"""Database service commands"""
pass
@database.command()
@click.option("--name", required=True, help="Database name")
@click.option("--schema", help="Database schema")
def init(name: str, schema: str):
"""Initialize database"""
import uuid
output({
"database_id": f"db_{uuid.uuid4().hex[:16]}",
"name": name,
"schema": schema or "",
"status": "initialized"
})
@database.command()
@click.option("--database-id", required=True, help="Database ID")
@click.option("--query", required=True, help="SQL query")
def query(database_id: str, query: str):
"""Query database"""
output({
"database_id": database_id,
"query": query,
"results": [],
"rows": 0
})
@database.command()
@click.option("--database-id", required=True, help="Database ID")
@click.option("--output", type=click.Path(), help="Backup output file")
def backup(database_id: str, output: str):
"""Backup database"""
output({
"database_id": database_id,
"backup_file": output or f"{database_id}_backup.json",
"status": "backed_up"
})
@database.command()
@click.option("--backup-file", required=True, type=click.Path(exists=True), help="Backup file")
@click.option("--database-id", help="Target database ID")
def restore(backup_file: str, database_id: str):
"""Restore database from backup"""
output({
"backup_file": backup_file,
"database_id": database_id or "restored_db",
"status": "restored"
})