storage

module
v0.0.0-...-3b2b5cc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2026 License: MIT

README

storage

storage 是一个面向结构化数据访问的 Go 库仓库,围绕 SQL 组装、类型映射、迁移与会话能力提供可复用组件,当前主要面向 sqlite3duckdbpostgres

仓库重点不是提供单个可执行程序,而是提供一组可组合的库能力与配套生成、格式化、测试入口。

职责与边界

  • 负责:结构化数据相关的库能力,包括 SQL 片段、构造器、类型、会话、迁移与过滤等基础组件。
  • 负责:仓库内 Go 工具链入口,例如生成、格式化、测试与依赖整理。
  • 不负责:在 root README 维护详细协作规则、长篇命令说明或实现细节。

文档导航

  • 仓库概览:能力地图、包职责与推荐阅读顺序。
  • 架构说明sqlfragsqlbuildersqlpipesessionadapter 的协作关系。
  • 开发与验证:本地依赖、常用命令、生成与测试入口。
  • 测试说明:测试分层、命名约定与覆盖率口径。

主要目录

  • pkg/: 核心库代码,按能力拆分为 sqlbuildersqltypesqlfragsessionmigrator 等包。
  • devpkg/: 仓库内部使用的开发辅助包与生成支持代码。
  • internal/: 内部命令、测试辅助与不对外暴露的实现细节。
  • justfile: 仓库级执行入口,用于查看和聚合稳定命令入口。
  • tool/go/justfile: Go 工具链执行面,集中暴露生成、格式化、测试与依赖相关命令。
  • AGENTS.md: 仓库协作约束与暂停门禁。

快速开始

  1. 阅读整体能力时,先看 docs/overview.md
  2. 理解核心抽象时,再看 docs/architecture.md
  3. 需要本地跑命令时,运行 justjust --list --list-submodules
  4. 需要具体 Go 包时,从 pkg/ 进入。

Directories

Path Synopsis
devpkg
filteropgen
Package filtergen 提供 `+gengo:filterop` 生成器, 用于按表索引字段生成 `sqlpipe` 过滤器与排序器辅助类型。
Package filtergen 提供 `+gengo:filterop` 生成器, 用于按表索引字段生成 `sqlpipe` 过滤器与排序器辅助类型。
tablegen
Package tablegen 提供 `+gengo:table` 生成器, 用于从模型定义生成表静态变量、索引入口和模型辅助方法。
Package tablegen 提供 `+gengo:table` 生成器, 用于从模型定义生成表静态变量、索引入口和模型辅助方法。
tablegen/util
Package util 提供 `tablegen` 生成器使用的表扫描与注释提取辅助函数。
Package util 提供 `tablegen` 生成器使用的表扫描与注释提取辅助函数。
internal
sql/loggingdriver
Package loggingdriver GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package loggingdriver GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
sql/scanner
Package scanner GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package scanner GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
sql/scanner/nullable
Package nullable GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package nullable GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
pkg
dberr
Package dberr GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package dberr GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
er
Package er 定义实体关系结构及其保序表示。
Package er 定义实体关系结构及其保序表示。
filter
Package filter 定义可序列化的过滤规则模型及其组合方式。
Package filter 定义可序列化的过滤规则模型及其组合方式。
filter/internal/directive
Package directive GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package directive GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
migrator
Package migrator 提供基于 catalog 差异的数据库结构迁移能力。
Package migrator 提供基于 catalog 差异的数据库结构迁移能力。
migrator/internal
Package internal GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package internal GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
session
Package session 提供数据库会话、catalog 注册与上下文注入能力。
Package session 提供数据库会话、catalog 注册与上下文注入能力。
session/db
Package db GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package db GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
sqlbuilder
+gengo:runtimedoc=false
+gengo:runtimedoc=false
sqlbuilder/internal/columndef
Package columndef GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package columndef GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
sqlbuilder/modelscoped
+gengo:runtimedoc=false
+gengo:runtimedoc=false
sqlbuilder/structs
Package structs GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package structs GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
sqlfrag
Package sqlfrag 提供可组合的 SQL 片段抽象及其参数收集能力。
Package sqlfrag 提供可组合的 SQL 片段抽象及其参数收集能力。
sqlpipe
Package sqlpipe 提供按管道方式组合 SQL 数据源与操作符的能力。
Package sqlpipe 提供按管道方式组合 SQL 数据源与操作符的能力。
sqlpipe/filter
Package filter GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package filter GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
sqlpipe/internal
Package internal GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package internal GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
sqlpipe/internal/flags
Package flags GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package flags GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
sqltype
Package sqltype 提供面向存储模型的通用字段类型与标记接口。
Package sqltype 提供面向存储模型的通用字段类型与标记接口。
sqltype/time
Package time GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package time GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
tool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL