- 偿试修复可执行文件打包插件数据表缺失问题

This commit is contained in:
jxxghp
2023-12-05 20:57:53 +08:00
parent 1323cd5dc6
commit f0fbad889d
15 changed files with 79 additions and 99 deletions

View File

@ -1,15 +1,10 @@
import importlib
from pathlib import Path
from alembic.command import upgrade
from alembic.config import Config
from app.core.config import settings
from app.core.security import get_password_hash
from app.db import Engine, SessionFactory
from app.db.models import Base
from app.db.models.user import User
from app.helper.module import ModuleHelper
from app.db import Engine, SessionFactory, Base
from app.db.models import *
from app.log import logger
@ -17,21 +12,18 @@ def init_db():
"""
初始化数据库
"""
# 导入模块,避免建表缺失
models_path = Path(__file__).with_name("models")
ModuleHelper.dynamic_import_all_modules(models_path, "app.db.models")
# 全量建表
Base.metadata.create_all(bind=Engine)
# 初始化超级管理员
with SessionFactory() as db:
user = User.get_by_name(db=db, name=settings.SUPERUSER)
if not user:
user = User(
_user = User.get_by_name(db=db, name=settings.SUPERUSER)
if not _user:
_user = User(
name=settings.SUPERUSER,
hashed_password=get_password_hash(settings.SUPERUSER_PASSWORD),
is_superuser=True,
)
user.create(db)
_user.create(db)
def update_db():