Repository navigation
v1.3.1
Release v1.3.1
發布日期 (Date): 2026-05-26
主要亮點 (Highlights):
- 修復 View 部署時因
SELECT *或非引號 Schema 前綴導致的 PostgreSQL 錯誤42P16: cannot change name of view column,讓 View 差異比對與同步更加穩健可靠。- EN: Fixes PostgreSQL error
42P16: cannot change name of view columntriggered bySELECT *views or unquoted schema prefixes (e.g.public."vw_name"), making View diff and sync more robust and reliable.
🌟 What's New / 主要更新
🚀 Features / 新功能
無 / None
🛠 Refactoring & Improvements / 重構與效能優化
無 / None
🐛 Bug Fixes / 問題修復
-
View 差異比對:
SELECT *視圖改為保守的 ReplaceView 策略當現有 View 的 SQL 使用
SELECT *導致欄位無法靜態解析時,舊版本會靜默跳過(不標記為任何變更),可能導致欄位實際有異動卻未觸發部署,進而發生 PostgreSQL 錯誤42P16。修正後改為保守地標記為ReplaceView(先執行DROP VIEW,再執行CREATE OR REPLACE VIEW),確保 View 結構一致性。EN: View diff:
SELECT *views now use conservative ReplaceView strategyPreviously, when an existing View's SQL used
SELECT *(columns unparseable at diff time), it was silently skipped — potentially missing real column changes and causing PostgreSQL error42P16. The fix marks such views asReplaceView(DROP then CREATE OR REPLACE), ensuring structural consistency even when column names cannot be statically determined. -
View 名稱解析:Regex 支援非引號 Schema 前綴(如
public."vw_name")View 名稱解析的正則表達式原本僅支援完整引號格式(如
"public"."vw_name"),對非引號 Schema 前綴(如public."vw_name")無法正確識別 View 名稱,導致 View 被誤認為「不存在」而以 CreateView 執行,觸發 PostgreSQL 錯誤42P16。現已同時支援\w+非引號 Schema 格式,涵蓋DeployOrchestrator與SchemaDiffer中所有相關 Regex。EN: View name parsing: Regex now supports unquoted schema prefix (e.g.
public."vw_name")The View name extraction regex previously only handled fully-quoted schemas (e.g.
"public"."vw_name"). An unquoted schema prefix likepublic."vw_name"would fail to match, causing the View to be treated as non-existent and deployed as CreateView — which then triggered PostgreSQL error42P16. All related Regex patterns in bothDeployOrchestratorandSchemaDiffernow accept\w+unquoted schema prefixes.
⚠️ Breaking Changes / 重大變更
無 / None