49 lines
1.6 KiB
Python
49 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='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, )
|
||
# 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)()
|
||
|
||
|
||
|
||
|