import os import peewee from .base import db from .cloud_asset import CloudAsset, CleanHistory def create_db_instance(): ca_path = os.path.join((os.path.dirname(os.path.abspath(__file__))), 'tidb_serverless_ca.pem') print(ca_path) db_name = os.getenv('CLOUD_INSIGHT_DATABASE', 'cams') db_user = os.getenv('CLOUD_INSIGHT_DB_USER', 'root') db_password = os.getenv('CLOUD_INSIGHT_DB_PASSWD', '') db_host = os.getenv('CLOUD_INSIGHT_DB_HOST', '127.0.0.1') db_port = int(os.getenv('CLOUD_INSIGHT_DB_PORT', 4000)) db_ca_path = os.getenv('CLOUD_INSIGHT_DB_CA_PATH', ca_path) print(f'try to connect {db_user}@{db_host}') # Cloud Asset Manager(CAM) db = peewee.MySQLDatabase( database=db_name, user=db_user, password=db_password, host=db_host, port=db_port, ssl_ca=db_ca_path, ) return db def init_db(db_instance: peewee.Database): db.initialize(db_instance) db_instance.connect()