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=8、MaxIdleConns=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)