SQLAlchemy 2.0.0 是 SQLAlchemy 2.0 系列的首個(gè)可用于生產(chǎn)環(huán)境的版本,現(xiàn)已正式 GA。
SQLAlchemy 是一個(gè) Python 的 SQL 工具包以及數(shù)據(jù)庫(kù)對(duì)象映射 (ORM) 框架。它包含整套企業(yè)級(jí)持久化模式,專門用于高效和高性能的數(shù)據(jù)庫(kù)訪問。

2.0 旨在適應(yīng)現(xiàn)代化 Python 的實(shí)際使用,開發(fā)團(tuán)隊(duì)花費(fèi)了三年多的時(shí)間來升級(jí) SQLAlchemy 用例模型和架構(gòu)。他們表示,自 2006 年 SQLAlchemy 發(fā)布第一個(gè)版本以來出現(xiàn)了三個(gè)主要的 Python 范式:Python 3、pep-484 類型支持和 asyncio。此次 SQLAlchemy 的 2.0 更新正是為了適應(yīng) Python 社區(qū)的不斷變化。而且與 16 年前相比,Python 社區(qū)的規(guī)模變得更大,擁有更多新的開發(fā)者,他們對(duì)嚴(yán)格性、易用性,以及在文檔方面有更高的標(biāo)準(zhǔn)。
據(jù)介紹,SQLAlchemy 2.0 系列的歷史始于四年前的 2018 年 8 月 8 日,其中包含一些關(guān)于如何統(tǒng)一 SQLAlchemy 的核心概念和 ORM 查詢的簡(jiǎn)短想法。而真正的 “SQLAlchemy 2.0” 概念的第一個(gè)計(jì)劃于當(dāng)年 11 月形成,主要集中在大幅簡(jiǎn)化 Core 執(zhí)行和事務(wù) API,以及尋求跨 Core 和 ORM 統(tǒng)一查詢這兩個(gè)領(lǐng)域。
基礎(chǔ)概念的變化非常明顯,以至于 SQLAlchemy 2.0 分為兩個(gè)主要階段。第一階段是 SQLAlchemy 1.4 系列,它提供了一個(gè)全新的統(tǒng)一 Core/ORM SQL 查詢系統(tǒng),同時(shí)構(gòu)建在一個(gè)新的通用語句緩存架構(gòu)之上。此階段為 SQLAlchemy 2.0 的 SQL 構(gòu)建方法(最小 pep-484 類型支持)提供了完整的實(shí)現(xiàn),同時(shí)完全維護(hù)了遺留的查詢 API。與此版本一起,一個(gè)全面的 遷移路徑 靈感來自 Python 2-》3 遷移過程中的經(jīng)驗(yàn)教訓(xùn),它描述了如何移植應(yīng)用程序,以便它們可以繼續(xù)在 SQLAlchemy 1.4 中運(yùn)行,同時(shí)完全向前兼容 SQLAlchemy 2.0。
第二階段是 SQLAlchemy 2.0 系列,它刪除了大部分已棄用的元素,將剩余的元素(主要是 Query)降級(jí)為長(zhǎng)期 “遺留” 狀態(tài),僅完全遷移至 Python 3,同時(shí)添加了許多在新架構(gòu)之上構(gòu)建的新功能,充分利用 Python 3 特性(包括數(shù)據(jù)類、枚舉、內(nèi)聯(lián)注釋)以及新的統(tǒng)一查詢架構(gòu)。
這種方法的關(guān)鍵優(yōu)勢(shì)在于,最重要和迄今為止風(fēng)險(xiǎn)最大的架構(gòu)更改,即在新緩存層之上重寫 Core/ORM 查詢的更改,已經(jīng)在 SQLAlchemy 1.4 的生產(chǎn)環(huán)境中使用了將近兩年。因此,雖然 SQLAlchemy 2.0 在被所有開發(fā)者使用后肯定會(huì)有很多新問題,但它們不應(yīng)該是 “基礎(chǔ)方法中的新裂縫”,因?yàn)榧軜?gòu)基礎(chǔ)已經(jīng)被廣泛使用。
官方預(yù)計(jì)絕大多數(shù)問題將與新類型系統(tǒng),以及現(xiàn)有應(yīng)用程序調(diào)整以使用新 API 的問題有關(guān)。
SQLAlchemy 2.0 是一個(gè)非常大的版本更新,它有兩個(gè)遷移指南:
Major Migration Guide - 介紹了如何使應(yīng)用程序達(dá)到 API 兼容性,以便能夠在 SQLAlchemy 1.4 或 2.0 中同等運(yùn)行
SQLAlchemy 2.0 新功能 - 提供了應(yīng)用程序在 SQLAlchemy 2.0 上運(yùn)行后可用的所有新功能和 API。
審核編輯 :李倩
-
SQL
+關(guān)注
關(guān)注
1文章
789瀏覽量
46714 -
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
4020瀏覽量
68365 -
python
+關(guān)注
關(guān)注
57文章
4877瀏覽量
90075
原文標(biāo)題:SQLAlchemy 2.0.0正式發(fā)布,Python ORM框架
文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
LuatOS框架的使用(上)
沒有專利的opencv-python 版本
新思科技攜手微軟、英偉達(dá)發(fā)布可實(shí)時(shí)優(yōu)化動(dòng)態(tài)制造流程框架
翼輝信息RealEvo-Stream 2.0.0重磅發(fā)布
全新升級(jí) | 匠芯創(chuàng)AiUIBuilder V2.0.0發(fā)布
PYQT 應(yīng)用程序框架及開發(fā)工具
NVIDIA TensorRT LLM 1.0推理框架正式上線
Pico Technology發(fā)布Python軟件包pyPicoSDK
env 2.0.0安裝錯(cuò)誤如下,請(qǐng)問如何解決?
termux如何搭建python游戲
python app不能運(yùn)行怎么解決?
潤(rùn)和軟件發(fā)布StackRUNS異構(gòu)分布式推理框架
摩爾線程發(fā)布Torch-MUSA v2.0.0版本 支持原生FP8和PyTorch 2.5.0
百度飛槳框架3.0正式版發(fā)布
零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?
SQLAlchemy 2.0.0正式發(fā)布,Python ORM框架
評(píng)論