from sqlalchemy import Column, DateTime, Integer, BigInteger, String, create_engine, Boolean, Text from sqlalchemy.orm import declarative_base, sessionmaker # 申明基类对象 Base = declarative_base() from decouple import config DB_PATH = config('DB_PATH', default='E://pyptoject//yj_resume//main.sqlite3') # DB_PATH = config('DB_PATH', default='D://PycharmProject//yj_resume//main.sqlite3') class DBTASK(Base): __tablename__ = 'db_task' id = Column(String(100), primary_key=True) name = Column(String(100), nullable=False) create_time = Column(DateTime, nullable=False, ) task_type = Column(String(20), nullable=False, ) # 0 代表待执行,1 成功,2 失败 status = Column(Integer, nullable=False, default=0) success_num = Column(Integer, nullable=False, default=0) total_num = Column(Integer, nullable=False, default=0) fail_num = Column(Integer, nullable=False, default=0) message = Column(Text, nullable=True) class DBRESUME(Base): __tablename__ = 'db_resume' id = Column(String(100), primary_key=True) # 每个任务对应一个文件夹ID task_id = Column(String(100), nullable=False) # 0 代表待执行,1 成功,2 失败 status = Column(Integer, nullable=False, default=0) file_name = Column(String(100), nullable=True) # 可以用json表示提取的数据 data_info = Column(Text, nullable=True) # 错误信息等 message = Column(Text, nullable=True) class SqliteSqlalchemy(object): def __init__(self): # 创建sqlite连接引擎 engine = create_engine(f'sqlite:///{DB_PATH}', echo=True) # 创建表 Base.metadata.create_all(engine, checkfirst=True) # 创建sqlite的session连接对象 self.session = sessionmaker(bind=engine)()