使用Python ORM實現資料庫存取和版本控制的實作

By 李毅山

議題

使用Python ORM實現資料庫存取和版本控制的實作

TR 511 [[ new Date( '2023-07-29 02:40:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 02:40:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 03:10:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

在這次分享中,我將介紹如何使用Python的ORM進行資料庫存取和DB Schema版本控制的實作。ORM是一種讓我們可以以物件導向的方式操作資料庫的技術,省去直接撰寫SQL查詢語句的麻煩。

首先,我將重點介紹Python中的SQLAlchemy ORM框架,它提供了一套豐富的工具,使我們能夠輕鬆地建立資料模型、執行查詢和進行資料庫遷移等操作。

接下來,我將深入探討資料庫存取的不同情境。我將解釋如何建立資料模型類別,並將其映射到資料庫表格。我們將討論查詢、新增、更新和刪除資料的方法,以及處理複雜的查詢操作,如聯結和聚合。

除了資料庫存取,我還會討論DB Schema版本控制的實作。我將以III DevOps開源專案的實際案例來示範如何使用ORM和Alembic來進行資料庫模型的版本升級。這將確保用戶端的資料庫能自動且安全地完成升級程序,以確保與應用程式版本的一致性。

最後,我們將進行實作示範,展示如何使用Python ORM進行資料庫存取和版本控制。這些示範將讓您體驗到ORM的優勢,並幫助您思考如何在自己的專案中應用這項技術。

這個分享將提供實用的知識和技巧,適合資料庫開發人員、Python開發人員,以及對資料庫存取和版本控制有興趣的人參加。讓我們一起探索使用Python ORM進行資料庫存取和版本控制的實作!

講者

李毅山

李毅山

我是財團法人資訊工業策進會(資策會)的後端工程師,專精於使用Python進行開發工作。目前,我主要負責 III DevOps 開源專案的後端團隊工作。

我擁有豐富的使用Docker、Kubernetes等微服務開發架構的經驗,並熟練應用CI/CD工具。作為後端團隊的負責人,除了參與產品開發,我也在CI/CD工具整合方面提供了寶貴的建議,並將其實現為 III DevOps 平台產品的API自動回歸測試功能。例如黑箱掃描工具WebInspect和OWASP,白箱掃描工具SonarQube和Checkmarx,以及整合測試工具Postman和映像掃描工具Sbom等。

此外,我致力於研究如何有效運用後端技術來控制Kubernetes,以實現DevOps平台中多個團隊共享單一Cluster,並保持彼此獨立的開發測試環境。同時,我也專注於研究如何在保證效率的前提下,讓各個專案的Pipeline能夠與後端程式的升級相配合,並自動修改相應的Pipeline YAML檔以實現自動升級。

我對軟體開發技術的創新和團隊合作充滿熱情,並樂於分享Python在後端開發中的實踐方法和解決方案。作為後端工程師,我致力於推動團隊的成長,並提供高品質的技術解決方案。

Miscellaneous Open Source Topics 各種開源議題 BHMDWZ general (30mins)