SQLAlchemy 2.0.0 是 SQLAlchemy 2.0 系列的首個可用于生產環境的版本,現已正式 GA。
SQLAlchemy 是一個 Python 的 SQL 工具包以及數據庫對象映射 (ORM) 框架。它包含整套企業級持久化模式,專門用于高效和高性能的數據庫訪問。
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
+關注
關注
1文章
773瀏覽量
44217 -
數據庫
+關注
關注
7文章
3845瀏覽量
64594 -
python
+關注
關注
56文章
4807瀏覽量
84955
原文標題:SQLAlchemy 2.0.0正式發布,Python ORM框架
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論