fix: knowledgebase 初始化的时候表格没有创建 #199
This commit is contained in:
parent
9a9feba3e8
commit
1f3e24cc37
@ -7,6 +7,7 @@ from contextlib import contextmanager
|
|||||||
from src import config
|
from src import config
|
||||||
from server.models import Base
|
from server.models import Base
|
||||||
from server.models.user_model import User
|
from server.models.user_model import User
|
||||||
|
from server.models.kb_models import KnowledgeDatabase, KnowledgeFile, KnowledgeNode
|
||||||
from src.utils import logger
|
from src.utils import logger
|
||||||
|
|
||||||
class DBManager:
|
class DBManager:
|
||||||
@ -34,6 +35,8 @@ class DBManager:
|
|||||||
"""创建数据库表"""
|
"""创建数据库表"""
|
||||||
# 确保所有表都会被创建
|
# 确保所有表都会被创建
|
||||||
Base.metadata.create_all(self.engine)
|
Base.metadata.create_all(self.engine)
|
||||||
|
logger.info("数据库表创建/检查完成")
|
||||||
|
|
||||||
def get_session(self):
|
def get_session(self):
|
||||||
"""获取数据库会话"""
|
"""获取数据库会话"""
|
||||||
return self.Session()
|
return self.Session()
|
||||||
@ -52,7 +55,6 @@ class DBManager:
|
|||||||
finally:
|
finally:
|
||||||
session.close()
|
session.close()
|
||||||
|
|
||||||
|
|
||||||
def check_first_run(self):
|
def check_first_run(self):
|
||||||
"""检查是否首次运行"""
|
"""检查是否首次运行"""
|
||||||
session = self.get_session()
|
session = self.get_session()
|
||||||
@ -61,5 +63,6 @@ class DBManager:
|
|||||||
return session.query(User).count() == 0
|
return session.query(User).count() == 0
|
||||||
finally:
|
finally:
|
||||||
session.close()
|
session.close()
|
||||||
|
|
||||||
# 创建全局数据库管理器实例
|
# 创建全局数据库管理器实例
|
||||||
db_manager = DBManager()
|
db_manager = DBManager()
|
||||||
@ -1,3 +1,8 @@
|
|||||||
from sqlalchemy.ext.declarative import declarative_base
|
from sqlalchemy.ext.declarative import declarative_base
|
||||||
|
|
||||||
Base = declarative_base()
|
Base = declarative_base()
|
||||||
|
|
||||||
|
# 导入所有模型文件,确保它们被注册到Base.metadata
|
||||||
|
from . import user_model
|
||||||
|
from . import kb_models
|
||||||
|
from . import thread_model
|
||||||
Loading…
Reference in New Issue
Block a user