SQLAlchemy 2.0.0 是 SQLAlchemy 2.0 系列的首個可用于生產(chǎn)環(huán)境的版本,現(xiàn)已正式 GA。
SQLAlchemy 是一個 Python 的 SQL 工具包以及數(shù)據(jù)庫對象映射 (ORM) 框架。它包含整套企業(yè)級持久化模式,專門用于高效和高性能的數(shù)據(jù)庫訪問。
2.0 旨在適應(yīng)現(xiàn)代化 Python 的實際使用,開發(fā)團隊花費了三年多的時間來升級 SQLAlchemy 用例模型和架構(gòu)。他們表示,自 2006 年 SQLAlchemy 發(fā)布第一個版本以來出現(xiàn)了三個主要的 Python 范式:Python 3、pep-484 類型支持和 asyncio。此次 SQLAlchemy 的 2.0 更新正是為了適應(yīng) Python 社區(qū)的不斷變化。而且與 16 年前相比,Python 社區(qū)的規(guī)模變得更大,擁有更多新的開發(fā)者,他們對嚴(yán)格性、易用性,以及在文檔方面有更高的標(biāo)準(zhǔn)。
據(jù)介紹,SQLAlchemy 2.0 系列的歷史始于四年前的 2018 年 8 月 8 日,其中包含一些關(guān)于如何統(tǒng)一 SQLAlchemy 的核心概念和 ORM 查詢的簡短想法。而真正的 “SQLAlchemy 2.0” 概念的第一個計劃于當(dāng)年 11 月形成,主要集中在大幅簡化 Core 執(zhí)行和事務(wù) API,以及尋求跨 Core 和 ORM 統(tǒng)一查詢這兩個領(lǐng)域。
基礎(chǔ)概念的變化非常明顯,以至于 SQLAlchemy 2.0 分為兩個主要階段。第一階段是 SQLAlchemy 1.4 系列,它提供了一個全新的統(tǒng)一 Core/ORM SQL 查詢系統(tǒng),同時構(gòu)建在一個新的通用語句緩存架構(gòu)之上。此階段為 SQLAlchemy 2.0 的 SQL 構(gòu)建方法(最小 pep-484 類型支持)提供了完整的實現(xiàn),同時完全維護了遺留的查詢 API。與此版本一起,一個全面的 遷移路徑 靈感來自 Python 2-》3 遷移過程中的經(jīng)驗教訓(xùn),它描述了如何移植應(yīng)用程序,以便它們可以繼續(xù)在 SQLAlchemy 1.4 中運行,同時完全向前兼容 SQLAlchemy 2.0。
第二階段是 SQLAlchemy 2.0 系列,它刪除了大部分已棄用的元素,將剩余的元素(主要是 Query)降級為長期 “遺留” 狀態(tài),僅完全遷移至 Python 3,同時添加了許多在新架構(gòu)之上構(gòu)建的新功能,充分利用 Python 3 特性(包括數(shù)據(jù)類、枚舉、內(nèi)聯(lián)注釋)以及新的統(tǒng)一查詢架構(gòu)。
這種方法的關(guān)鍵優(yōu)勢在于,最重要和迄今為止風(fēng)險最大的架構(gòu)更改,即在新緩存層之上重寫 Core/ORM 查詢的更改,已經(jīng)在 SQLAlchemy 1.4 的生產(chǎn)環(huán)境中使用了將近兩年。因此,雖然 SQLAlchemy 2.0 在被所有開發(fā)者使用后肯定會有很多新問題,但它們不應(yīng)該是 “基礎(chǔ)方法中的新裂縫”,因為架構(gòu)基礎(chǔ)已經(jīng)被廣泛使用。
官方預(yù)計絕大多數(shù)問題將與新類型系統(tǒng),以及現(xiàn)有應(yīng)用程序調(diào)整以使用新 API 的問題有關(guān)。
SQLAlchemy 2.0 是一個非常大的版本更新,它有兩個遷移指南:
Major Migration Guide - 介紹了如何使應(yīng)用程序達(dá)到 API 兼容性,以便能夠在 SQLAlchemy 1.4 或 2.0 中同等運行
SQLAlchemy 2.0 新功能 - 提供了應(yīng)用程序在 SQLAlchemy 2.0 上運行后可用的所有新功能和 API。
審核編輯 :李倩
-
SQL
+關(guān)注
關(guān)注
1文章
772瀏覽量
44194 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3842瀏覽量
64551 -
python
+關(guān)注
關(guān)注
56文章
4802瀏覽量
84891
原文標(biāo)題:SQLAlchemy 2.0.0正式發(fā)布,Python ORM框架
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論