Advertisement

根据数据库生成相应的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.

全部评论 (0)

还没有任何评论哟~