45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
|
|
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)()
|