From b0d95c5948c548c5d8a4cb0528ae1455492d45bd Mon Sep 17 00:00:00 2001 From: wispem-wantex Date: Sun, 15 Feb 2026 20:49:13 +0000 Subject: [PATCH] codegen: skip generating ID type for "without rowid" tables --- cmd/subcmd_generate_models.go | 59 +++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/cmd/subcmd_generate_models.go b/cmd/subcmd_generate_models.go index 9909d0a..cfdf0d8 100644 --- a/cmd/subcmd_generate_models.go +++ b/cmd/subcmd_generate_models.go @@ -43,38 +43,43 @@ var generate_model = &cobra.Command{ file2 := modelgenerate.GenerateModelTestAST(table, modname) PanicIf(printer.Fprint(os.Stdout, fset, file2)) } else { - file := &ast.File{ - Name: ast.NewIdent("db"), // TODO: parameterize - - Decls: []ast.Decl{ - &ast.GenDecl{ - Tok: token.IMPORT, - Specs: []ast.Spec{ - &ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"database/sql"`}}, - &ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"errors"`}}, - &ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"fmt"`}}, - &ast.ImportSpec{ - Name: ast.NewIdent("."), - Path: &ast.BasicLit{Kind: token.STRING, Value: `"git.offline-twitter.com/offline-labs/gas-stack/pkg/db"`}, - }, - &ast.ImportSpec{ - Name: ast.NewIdent("."), - Path: &ast.BasicLit{ - Kind: token.STRING, - Value: `"git.offline-twitter.com/offline-labs/gas-stack/pkg/flowutils"`, - }, + decls := []ast.Decl{ + &ast.GenDecl{ + Tok: token.IMPORT, + Specs: []ast.Spec{ + &ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"database/sql"`}}, + &ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"errors"`}}, + &ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"fmt"`}}, + &ast.ImportSpec{ + Name: ast.NewIdent("."), + Path: &ast.BasicLit{Kind: token.STRING, Value: `"git.offline-twitter.com/offline-labs/gas-stack/pkg/db"`}, + }, + &ast.ImportSpec{ + Name: ast.NewIdent("."), + Path: &ast.BasicLit{ + Kind: token.STRING, + Value: `"git.offline-twitter.com/offline-labs/gas-stack/pkg/flowutils"`, }, }, }, - modelgenerate.GenerateIDType(table), - modelgenerate.GenerateModelAST(table), - modelgenerate.GenerateSQLFieldsConst(table), - modelgenerate.GenerateSaveItemFunc(table), - modelgenerate.GenerateDeleteItemFunc(table), - modelgenerate.GenerateGetItemByIDFunc(table), - modelgenerate.GenerateGetAllItemsFunc(table), }, } + if !table.IsWithoutRowid { + decls = append(decls, modelgenerate.GenerateIDType(table)) + } + decls = append(decls, + modelgenerate.GenerateModelAST(table), + modelgenerate.GenerateSQLFieldsConst(table), + modelgenerate.GenerateSaveItemFunc(table), + modelgenerate.GenerateDeleteItemFunc(table), + modelgenerate.GenerateGetItemByIDFunc(table), + modelgenerate.GenerateGetAllItemsFunc(table), + ) + + file := &ast.File{ + Name: ast.NewIdent("db"), // TODO: parameterize + Decls: decls, + } PanicIf(printer.Fprint(os.Stdout, fset, file)) }