【go】根据数据库自动生成相应结构体代码

go自动生成结构体代码

情景
在web项目开发时,很多时候我们需要创建大量的结构体,因为这些结构体的格式十分固定,我们可以写一个工具自动帮我们完成这些不需要脑力而繁琐的工作。方法是查询数据库中全部表的表名,以及这个表中所有的字段名及相应数据类型。然后根据查
询结果,用字符串处理的方法来生成这些结构体的结果。
本项目用到的数据库:postgresql, 生成的结构体:go, typescript.

关键
关键部分是使用sql语句获取创建结构体需要的信息。可以参考以下语句:

SELECT 
tb.tablename as tablename,
a.attname AS columnname,
t.typname AS type
FROM
pg_class as c,
pg_attribute as a, 
pg_type as t,
(select tablename from pg_tables where schemaname = $1 ) as tb
WHERE  a.attnum > 0 
and a.attrelid = c.oid
and a.atttypid = t.oid
and c.relname = tb.tablename 
order by tablename

代码和程序下载
以下是我做的项目和exe文件链接,欢迎参考和使用:
https://github.com/BlackCarDriver/postgre-struct-makerr

使用方法和效果

1.在配置文件中设置连接数据库需要的参数
在这里插入图片描述
2.运行main.exe 或 命令行输入 run main.go,结束后结果保存在在同级目录的.txt文件
在这里插入图片描述

发布了90 篇原创文章 · 获赞 31 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/BlackCarDriver/article/details/95208399