从旧版本升级
此页面包含驱动程序从版本 4.4 到 5.x 的新功能和重大变更列表。有关完整的变更列表,请参阅 驱动程序 → 变更日志。
Neo4j 驱动程序迁移助手通过根据您的应用程序语境化变更日志来简化升级过程。它会扫描您的代码库中已弃用和已移除的用法,并将其显示给您。该工具不会自动重写您的代码;它只会指出需要操作的地方,并提供关于如何解决每个命中问题的上下文信息。
5.x 系列的最新驱动程序版本(5.28)兼容 Neo4j 服务器 4.4 和 5.x,因此您可以在升级服务器之前升级驱动程序。同时,驱动程序版本 4.4 向后兼容 Neo4j 服务器 5.x,因此您也可以在升级驱动程序之前升级服务器;然而,鉴于应用程序升级比服务器升级更容易回滚,建议从驱动程序开始。
将 Neo4j 服务器升级到新版本时,应用程序中的 Cypher 查询可能也需要更新。驱动程序迁移助手不涵盖 Cypher 变更。 请参阅 Cypher → 弃用、新增和兼容性。 |
推荐步骤
使用迁移助手,推荐的升级步骤如下:
-
设置助手的工作环境。下载 驱动程序迁移助手 zip,将其解压,并进入其目录。然后,假设已安装
python3
和pip3
,python3 -m venv virtualenvs/neo4j-migration source virtualenvs/neo4j-migration/bin/activate pip3 install -r requirements.txt
-
使用默认配置运行迁移助手并解决它发现的所有问题。
path
参数支持 通配符匹配,并且可以重复使用。python3 main.py -l python /path/*.py /path-recursive/**/*.py
-
使用正则表达式解析器重新运行助手,并检查是否有更多合法问题出现。
python3 main.py -l python --regex-parser /path/*.py /path-recursive/**/*.py
正则表达式解析器可以检测隐式函数调用和其他难以解析的表达式,但很可能会产生更多的误报(更多信息请参阅 Neo4j 驱动程序迁移助手 → 准确性)。您可以将任何虚假条目添加到忽略列表中,这样助手在未来的运行中就不会再显示它们。
-
尽管助手可以检测到大多数需要采取行动的位置,但仍有一些变更日志条目无法以这种形式显示,因此您仍应查阅重大变更部分,并检查您的代码库中表中带有 标记的变更。
-
您已准备好将驱动程序包升级到新版本。例如,使用
pip
pip3 install -U neo4j==5.27
新功能
支持 Python 3.13该驱动程序兼容从 3.7 到 3.13 的所有 Python 版本。 |
|
|
Rust 扩展以提高性能Python 驱动程序的 Rust 扩展是一个替代的驱动程序包,与纯 Python 驱动程序相比,它可以将速度提高多达 10 倍。 您可以使用 |
导出为 Pandas Dataframe
|
所有公共 API 的类型提示所有公共对象都通过 typing 包进行类型注解。可(可选地)与类型检查器和静态代码分析工具一起使用。 |
相互 TLS (mTLS) 作为第二认证因子 (2FA)允许配置客户端 TLS 证书以对服务器进行认证。 请参阅 相互 TLS。 |
|
|
通知过滤 API过滤允许只接收服务器通知的一个子集,并提高服务器端的性能。 请参阅 探索查询执行摘要 → 过滤通知。 |
|
更方便地处理服务器端警告和通知新的子日志记录器 如果未显式配置日志记录,默认行为是将警告通过 请参阅 便捷的 DBMS 通知。 |
遥测驱动程序向服务器发送匿名 API 使用统计信息。使用驱动程序配置 |
并发误用检查对于本地开发,使用 |
重大变更和弃用
Assistant
列表示 Neo4j 驱动程序迁移助手是否可以检测与给定变更日志条目相关的问题。带有叉号 的条目需要手动检查。
弃用的功能可能会在版本 6 中移除。
版本 | 消息 | 状态 | 助手 |
---|---|---|---|
5.0 |
停止支持 Python 3.6。 |
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已变更 |
|
5.0 |
|
已变更 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已变更 |
|
5.0 |
|
已变更 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已移除 |
|
5.0 |
|
已弃用 |
|
5.3 |
包别名 |
已弃用 |
|
5.0 |
|
已弃用 |
属性 |
5.0 |
通过 |
已弃用 |
|
5.0 |
导入以下模块已弃用且没有替代品,因为它们是内部模块,不应由客户端代码使用:
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
|
已弃用 |
|
5.0 |
从 |
已弃用 |
|
5.7 |
导入 |
已弃用 |
|
5.0 |
以下对象已弃用且没有替代品,因为它们是内部对象,不应由客户端代码使用: |
已弃用 |
|
5.22 |
类 |
已弃用 |
|
5.0 |
未记录的方法 |
已弃用 |
|
5.26 |
未记录的方法 |
已弃用 |