Some checks failed
CLI Tests / test-cli (push) Failing after 11s
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 10s
Documentation Validation / validate-policies-strict (push) Successful in 4s
Integration Tests / test-service-integration (push) Successful in 2m38s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Node Failover Simulation / failover-test (push) Successful in 2s
Package Tests / Python package - aitbc-agent-sdk (push) Failing after 27s
Security Scanning / security-scan (push) Has been cancelled
Package Tests / Python package - aitbc-core (push) Successful in 13s
Package Tests / Python package - aitbc-crypto (push) Successful in 9s
Package Tests / Python package - aitbc-sdk (push) Successful in 11s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 8s
Package Tests / JavaScript package - aitbc-token (push) Successful in 27s
Python Tests / test-python (push) Failing after 1m25s
- Route Click commands (agent, ipfs, oracle, etc.) to click_cli module - Add zk, knowledge, bounty, dispute subcommands to agent group - Add AI test submission, power trading, and reputation commands - Add cross-chain transfer and listing commands - Add monitor start/stop/status/alerts commands - Add swarm create/discover/add/distribute/status commands - Update main() to check command type and delegate appropriately - Fix genesis CLI
63 lines
1.6 KiB
Python
63 lines
1.6 KiB
Python
"""Database commands for AITBC CLI"""
|
|
|
|
import click
|
|
import json
|
|
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"
|
|
})
|