@@ -10,6 +10,7 @@ import (
1010
1111 "github.com/kyleconroy/sqlc/internal/codegen/sdk"
1212 "github.com/kyleconroy/sqlc/internal/inflection"
13+ "github.com/kyleconroy/sqlc/internal/info"
1314 "github.com/kyleconroy/sqlc/internal/metadata"
1415 "github.com/kyleconroy/sqlc/internal/plugin"
1516 pyast "github.com/kyleconroy/sqlc/internal/python/ast"
@@ -481,6 +482,30 @@ func buildQueries(req *plugin.CodeGenRequest, structs []Struct) ([]Query, error)
481482 return qs , nil
482483}
483484
485+ func moduleNode (source string ) * pyast.Module {
486+ mod := & pyast.Module {
487+ Body : []* pyast.Node {
488+ poet .Comment (
489+ "Code generated by sqlc. DO NOT EDIT." ,
490+ ),
491+ poet .Comment (
492+ "versions:" ,
493+ ),
494+ poet .Comment (
495+ " sqlc " + info .Version ,
496+ ),
497+ },
498+ }
499+ if source != "" {
500+ mod .Body = append (mod .Body ,
501+ poet .Comment (
502+ "source: " + source ,
503+ ),
504+ )
505+ }
506+ return mod
507+ }
508+
484509func importNode (name string ) * pyast.Node {
485510 return & pyast.Node {
486511 Node : & pyast.Node_Import {
@@ -636,18 +661,7 @@ func buildImportGroup(specs map[string]importSpec) *pyast.Node {
636661}
637662
638663func buildModelsTree (ctx * pyTmplCtx , i * importer ) * pyast.Node {
639- mod := & pyast.Module {
640- Body : []* pyast.Node {
641- {
642- Node : & pyast.Node_Comment {
643- Comment : & pyast.Comment {
644- Text : "Code generated by sqlc. DO NOT EDIT." ,
645- },
646- },
647- },
648- },
649- }
650-
664+ mod := moduleNode ("" )
651665 std , pkg := i .modelImportSpecs ()
652666 mod .Body = append (mod .Body , buildImportGroup (std ), buildImportGroup (pkg ))
653667
@@ -779,14 +793,7 @@ func asyncQuerierClassDef() *pyast.ClassDef {
779793}
780794
781795func buildQueryTree (ctx * pyTmplCtx , i * importer , source string ) * pyast.Node {
782- mod := & pyast.Module {
783- Body : []* pyast.Node {
784- poet .Comment (
785- "Code generated by sqlc. DO NOT EDIT." ,
786- ),
787- },
788- }
789-
796+ mod := moduleNode (source )
790797 std , pkg := i .queryImportSpecs (source )
791798 mod .Body = append (mod .Body , buildImportGroup (std ), buildImportGroup (pkg ))
792799 mod .Body = append (mod .Body , & pyast.Node {
0 commit comments