def config_db(app): # 让sqlite数据库文件位置相对于应用程序根目录 params = app.config["DATABASE_PARAMS"] if "filename" in params and not os.path.isabs(params["filename"]): params["filename"] = os.path.join(app.root_path, params["filename"]) db_dir = os.path.dirname(params["filename"]) if not os.path.exists(db_dir): os.makedirs(db_dir) # 测试时会多次执行db.bind try: db.bind(app.config["DATABASE_NAME"], create_db=True, **params) db.generate_mapping(create_tables=True) except TypeError as ex: app.logger.warn("can't bind db: " + str(ex)) # 多次执行 create_tables 不会报错 db.create_tables()
def config_db(app): db.bind(app.config["DATABASE_NAME"], app.config["DATABASE_PATH"], create_db=True) db.generate_mapping(create_tables=True)