Files
yj_resume/db/sql_db.py

45 lines
1.6 KiB
Python
Raw Normal View History

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')
class DBTASK(Base):
__tablename__ = 'db_task'
id = Column(String(100), primary_key=True)
create_time = Column(DateTime, 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)()