DEV Community

邱敬幃 Pardn Chiu
邱敬幃 Pardn Chiu

Posted on

GO-SQLite@v0.2.0: 鏈式語法 SQLite 連線模組

cover


v0.1.0 -> v0.2.0

Summary

重構資料庫連線器為單例模式並使用 sync.Once 確保初始化,強化 SQL 驗證加入保留字檢查,以及新增衝突處理與總數查詢的鏈式 API。

Changes

FEAT

  • 新增 GetWithTotal()GetWithTotalContext() 方法支援含總數的分頁查詢
  • 新增 Builder.Raw() 方法取得底層 *sql.DB 實例
  • 新增 Builder.Conflict() 鏈式方法處理 Insert 衝突策略

REFACTOR

  • Database 結構重新命名為 Connector,使用 sync.Once 確保單例初始化
  • 簡化 New() 回傳值從 (*Database, *sql.DB, error) 改為 (*Connector, error)
  • 重構 OrderBy 方向參數為型別常數(Asc/Desc
  • 強化欄位驗證:加入長度限制(128 字元)與 SQL 保留字檢查(透過嵌入 JSON)
  • 調整連線池設定:MaxOpenConns=8MaxIdleConns=2,啟用 WAL 模式

UPDATE

  • 修改 Update() / UpdateContext() 參數為可變長度 map[string]any
  • 標記舊版衝突方法(InsertConflict 等)將於 v1.0.0 棄用
  • 標記 Total() 方法即將棄用,改用 GetWithTotal()

Files Changed

File Status Tag
instance.go Modified REFACTOR
builder.go Modified FEAT
select.go Modified FEAT, REFACTOR
insert.go Modified FEAT, UPDATE
update.go Modified UPDATE
utils.go Modified REFACTOR
sql_keywords.json Added REFACTOR
main_test.go Modified REFACTOR
README.md Modified DOC
README.zh.md Added DOC
LICENSE Added DOC
cover.png Added DOC

©️ 2026 邱敬幃 Pardn Chiu

Top comments (0)