sqlite_engine.py 749 B

12345678910111213141516171819202122
  1. from sqlite3 import connect
  2. from config.settings import OUTPUT_DIR, WORK_DIR
  3. from datetime import datetime
  4. from sqlmodel import Field, SQLModel, create_engine, Session, select
  5. from sqlalchemy import text # Add this import
  6. sqlite_file_name = OUTPUT_DIR / "database.db"
  7. sqlite_url = f"sqlite:///{sqlite_file_name}"
  8. engine = create_engine(sqlite_url, echo=False)
  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)