Spaces:
No application file
No application file
import os | |
import pytest | |
from sqlalchemy import MetaData, create_engine | |
from sqlalchemy.orm import sessionmaker | |
def clean_db(): | |
db_path = os.path.expanduser("~/.embedchain/embedchain.db") | |
db_url = f"sqlite:///{db_path}" | |
engine = create_engine(db_url) | |
metadata = MetaData() | |
metadata.reflect(bind=engine) # Reflect schema from the engine | |
Session = sessionmaker(bind=engine) | |
session = Session() | |
try: | |
# Iterate over all tables in reversed order to respect foreign keys | |
for table in reversed(metadata.sorted_tables): | |
if table.name != "alembic_version": # Skip the Alembic version table | |
session.execute(table.delete()) | |
session.commit() | |
except Exception as e: | |
session.rollback() | |
print(f"Error cleaning database: {e}") | |
finally: | |
session.close() | |
def disable_telemetry(): | |
os.environ["EC_TELEMETRY"] = "false" | |
yield | |
del os.environ["EC_TELEMETRY"] | |