def init(no_http, from_config):
    """初始化数据库"""
    first_run = not Path.cwd().joinpath("data/data.sqlite3").exists()
    if no_http and not first_run and from_config:
        new_name = f'{DB_PATH}.backup'
        if os.path.exists(new_name):
            os.remove(new_name)
        os.rename(DB_PATH, new_name)
        print(f"旧数据库已备份为: {new_name}")  # 在logger加载配置之前执行，只能使用print
    BaseModel.metadata.create_all(engine)  # 创建所有表
    migrate_via_alembic()
    return first_run or no_http
初始化数据库
biliup/database/db.py