async def METHOD_NAME(name: Union[str, os.PathLike[str]], db_version: int) -> DBWrapper2:
    db_filename = Path(name)
    try:
        os.unlink(db_filename)
    except FileNotFoundError:
        pass
    connection = await aiosqlite.connect(db_filename)
    def sql_trace_callback(req: str) -> None:
        sql_log_path = "sql.log"
        timestamp = datetime.now().strftime("%H:%M:%S.%f")
        log = open(sql_log_path, "a")
        log.write(timestamp + " " + req + "\n")
        log.close()
    if "--sql-logging" in sys.argv:
        await connection.set_trace_callback(sql_trace_callback)
    await connection.execute("pragma journal_mode=wal")
    await connection.execute("pragma synchronous=full")
    ret = DBWrapper2(connection, db_version)
    await ret.add_connection(await aiosqlite.connect(db_filename))
    return ret