xo 是一个 Go 工具,用于生成从数据库表到 Go 结构体的代码。它可以自动为表生成对应的结构体和方法,并支持许多自定义选项。

  1. 安装 xo 工具
go install github.com/xo/xo@latest
  1. 配置 xo 生成代码 xo 工具提供了多种选项来生成代码,包括指定表、数据库连接和字段标签格式。你可以通过命令行参数来指定这些选项。

    示例命令

    假设你有一个 PostgreSQL 数据库,并且你只想生成名为 notifications 表的结构体,且字段注释格式为 json:"field_name",可以使用以下命令:

xo --json tags \
   --schema public \
   --no-recurse \
   --only notifications \
   -o ./models \
   postgres://username:password@localhost:5432/database_name
命令说明
  • --json tags:生成 JSON 标签。xo 支持多种标签格式,包括 json:"field_name"
  • --schema public:指定数据库模式(schema)。默认为 public
  • --no-recurse:防止递归生成所有表。如果只指定了 --only,可以省略。
  • --only notifications:只生成 notifications 表的结构体。
  • -o ./models:指定生成的代码目录。
  • postgres://username:password@localhost:5432/database_name:数据库连接字符串。