0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SQLAlchemy 2.0.0正式发布,Python ORM框架

OSC开源社区 来源:OSC开源社区 2023-01-31 14:52 次阅读

SQLAlchemy 2.0.0 是 SQLAlchemy 2.0 系列的首个可用于生产环境的版本,现已正式 GA。

SQLAlchemy 是一个 Python 的 SQL 工具包以及数据库对象映射 (ORM) 框架。它包含整套企业级持久化模式,专门用于高效和高性能的数据库访问。

d49c0d32-a11e-11ed-bfe3-dac502259ad0.png

2.0 旨在适应现代化 Python 的实际使用,开发团队花费了三年多的时间来升级 SQLAlchemy 用例模型和架构。他们表示,自 2006 年 SQLAlchemy 发布第一个版本以来出现了三个主要的 Python 范式:Python 3、pep-484 类型支持和 asyncio。此次 SQLAlchemy 的 2.0 更新正是为了适应 Python 社区的不断变化。而且与 16 年前相比,Python 社区的规模变得更大,拥有更多新的开发者,他们对严格性、易用性,以及在文档方面有更高的标准。

据介绍,SQLAlchemy 2.0 系列的历史始于四年前的 2018 年 8 月 8 日,其中包含一些关于如何统一 SQLAlchemy 的核心概念和 ORM 查询的简短想法。而真正的 “SQLAlchemy 2.0” 概念的第一个计划于当年 11 月形成,主要集中在大幅简化 Core 执行和事务 API,以及寻求跨 Core 和 ORM 统一查询这两个领域。

基础概念的变化非常明显,以至于 SQLAlchemy 2.0 分为两个主要阶段。第一阶段是 SQLAlchemy 1.4 系列,它提供了一个全新的统一 Core/ORM SQL 查询系统,同时构建在一个新的通用语句缓存架构之上。此阶段为 SQLAlchemy 2.0 的 SQL 构建方法(最小 pep-484 类型支持)提供了完整的实现,同时完全维护了遗留的查询 API。与此版本一起,一个全面的 迁移路径 灵感来自 Python 2-》3 迁移过程中的经验教训,它描述了如何移植应用程序,以便它们可以继续在 SQLAlchemy 1.4 中运行,同时完全向前兼容 SQLAlchemy 2.0。

第二阶段是 SQLAlchemy 2.0 系列,它删除了大部分已弃用的元素,将剩余的元素(主要是 Query)降级为长期 “遗留” 状态,仅完全迁移至 Python 3,同时添加了许多在新架构之上构建的新功能,充分利用 Python 3 特性(包括数据类、枚举、内联注释)以及新的统一查询架构。

这种方法的关键优势在于,最重要和迄今为止风险最大的架构更改,即在新缓存层之上重写 Core/ORM 查询的更改,已经在 SQLAlchemy 1.4 的生产环境中使用了将近两年。因此,虽然 SQLAlchemy 2.0 在被所有开发者使用后肯定会有很多新问题,但它们不应该是 “基础方法中的新裂缝”,因为架构基础已经被广泛使用。

官方预计绝大多数问题将与新类型系统,以及现有应用程序调整以使用新 API 的问题有关。

SQLAlchemy 2.0 是一个非常大的版本更新,它有两个迁移指南:

Major Migration Guide - 介绍了如何使应用程序达到 API 兼容性,以便能够在 SQLAlchemy 1.4 或 2.0 中同等运行

SQLAlchemy 2.0 新功能 - 提供了应用程序在 SQLAlchemy 2.0 上运行后可用的所有新功能和 API。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SQL
    SQL
    +关注

    关注

    1

    文章

    753

    浏览量

    44018
  • 数据库
    +关注

    关注

    7

    文章

    3750

    浏览量

    64216
  • python
    +关注

    关注

    55

    文章

    4764

    浏览量

    84352

原文标题:SQLAlchemy 2.0.0正式发布,Python ORM框架

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    pytorch和python的关系是什么

    在当今的人工智能领域,Python已经成为了最受欢迎的编程语言之一。Python的易学易用、丰富的库和框架以及强大的社区支持,使其成为了数据科学、机器学习和深度学习等领域的首选语言。而在深度学习领域
    的头像 发表于 08-01 15:27 1439次阅读

    Python中的人工智能框架与实例

    在人工智能(AI)领域,Python因其简洁的语法、丰富的库和强大的社区支持,成为了最受欢迎的编程语言之一。本文将详细介绍Python中的人工智能框架,并通过具体实例展示如何使用这些框架
    的头像 发表于 07-15 14:54 1455次阅读

    请问NON-OS SDK 2.0.0是否附带mbedTLS或axTLS?

    NON-OS SDK 2.0.0 是否附带 mbedTLS 或 axTLS? 我看到 mbedTLS 可作为单独的模块使用,但不确定 id SDK 2.0.0 使用 axTLS 与 mbed TLS 谢谢
    发表于 07-12 06:11

    ENV-Windows v2.0.0版本发布

    ENV-Windows v2.0.0版本发布
    的头像 发表于 06-26 08:35 527次阅读
    ENV-Windows v<b class='flag-5'>2.0.0</b>版本<b class='flag-5'>发布</b>

    华为云开发者桌面全新发布 CodeArts IDE for Python,极致优雅云原生开发体验

    近日,华为云正式发布 CodeArts IDE for Python,这是一款内置华为自研 Python 语言服务,提供智能编程、灵活调试能力的可扩展桌面开发工具,为华为云开发者提供卓越
    的头像 发表于 05-10 00:27 1173次阅读
    华为云开发者桌面全新<b class='flag-5'>发布</b> CodeArts IDE for <b class='flag-5'>Python</b>,极致优雅云原生开发体验

    华为云正式发布CodeArts IDE for Python

    近日,华为云正式发布CodeArts IDE for Python,这是一款内置华为自主创新的Python语言服务,提供智能编程、灵活调试能力的可扩展桌面开发工具,为华为云开发者提供卓越Pyt
    的头像 发表于 05-08 14:58 428次阅读

    Python自动化测试框架及其应用

    Pytest是一个非常成熟的全功能的Python测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起
    的头像 发表于 04-03 16:15 491次阅读
    <b class='flag-5'>Python</b>自动化测试<b class='flag-5'>框架</b>及其应用

    苹果visionOS 2.0.0版测试中,或涉及应用程序审核

    服务器日志显示,苹果正在同时研发visionOS系统的两个版本更新,外部开发者可观察到两个版本的分支情况为:visionOS|2.0.0|Reality Device 14,1以及visionOS|1.0.0|Reality Device 14.1。
    的头像 发表于 02-01 11:07 627次阅读

    RZ/G多操作系统包V2.0.0的发行说明

    电子发烧友网站提供《RZ/G多操作系统包V2.0.0的发行说明.pdf》资料免费下载
    发表于 01-14 10:47 0次下载
    RZ/G多操作系统包V<b class='flag-5'>2.0.0</b>的发行说明

    什么是LlamaIndex?LlamaIndex数据框架的特点和功能

    LlamaIndex是一个数据框架,用于让基于LLM的应用程序摄取、结构化和访问私有或领域特定的数据。它提供Python和Typescript版本。
    的头像 发表于 01-05 11:08 8982次阅读
    什么是LlamaIndex?LlamaIndex数据<b class='flag-5'>框架</b>的特点和功能

    Python Web框架Django 5.0新特性

    根据 JetBrains 公布的 2022 Python 开发者调查结果,Python Web 框架的三巨头依旧是 Flask、Django 和 FastAPI。Django 和 Flask 的使用率排名并列第一。
    的头像 发表于 12-06 13:37 1072次阅读

    python语言特点有哪些

    Python是一种高级编程语言,由Guido van Rossum于1991年首次发布。它具有许多独特的特点,这些特点使得Python在软件开发领域变得非常流行。以下是关于Python
    的头像 发表于 11-29 14:29 998次阅读

    Python2与Python3的差异

    Python2与Python3是两个不同的版本,它们在语法、功能和性能等方面存在一些差异。下面是对Python2和Python3的详尽、详实、细致的比较,分为以下几个方面: 语法差异:
    的头像 发表于 11-23 16:48 859次阅读

    python嵌入包和安装程序的区别

    Python作为一种高级编程语言,拥有广泛的应用领域和丰富的库和框架支持。在使用Python开发项目时,我们通常会遇到需要依赖第三方库或框架的情况,这时候就需要考虑如何将这些扩展功能包
    的头像 发表于 11-23 16:42 8620次阅读

    Python编程语言属于什么语言

    Python编程语言属于高级编程语言中的一种。它是一种通用、面向对象、解释型编程语言。Python由Guido van Rossum于1989年在荷兰创造,并于1991年正式发布。它被设计成易于阅读
    的头像 发表于 11-22 14:31 1320次阅读