db_engine.py 695 B

123456789101112131415161718192021
  1. from sqlite3 import connect
  2. from utils.settings import OUTPUT_DIR, WORK_DIR, DB_URL
  3. from datetime import datetime
  4. from sqlmodel import Field, SQLModel, create_engine, Session, select
  5. from sqlalchemy import text # Add this import
  6. engine = create_engine(DB_URL, echo=False)
  7. def get_engine():
  8. return engine
  9. def create_db_and_tables():
  10. SQLModel.metadata.create_all(engine)
  11. def drop_table(model: SQLModel):
  12. """删除SearchResult表以便重新创建"""
  13. with engine.connect() as conn:
  14. # Use text() to create an executable SQL statement
  15. conn.execute(text(f"DROP TABLE IF EXISTS {model.__tablename__}"))
  16. conn.commit()
  17. SQLModel.metadata.create_all(engine)