codegen: skip generating ID type for "without rowid" tables

This commit is contained in:
wispem-wantex 2026-02-15 20:49:13 +00:00
parent 85d544152f
commit b0d95c5948

View File

@ -43,38 +43,43 @@ var generate_model = &cobra.Command{
file2 := modelgenerate.GenerateModelTestAST(table, modname) file2 := modelgenerate.GenerateModelTestAST(table, modname)
PanicIf(printer.Fprint(os.Stdout, fset, file2)) PanicIf(printer.Fprint(os.Stdout, fset, file2))
} else { } else {
file := &ast.File{ decls := []ast.Decl{
Name: ast.NewIdent("db"), // TODO: parameterize &ast.GenDecl{
Tok: token.IMPORT,
Decls: []ast.Decl{ Specs: []ast.Spec{
&ast.GenDecl{ &ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"database/sql"`}},
Tok: token.IMPORT, &ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"errors"`}},
Specs: []ast.Spec{ &ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"fmt"`}},
&ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"database/sql"`}}, &ast.ImportSpec{
&ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"errors"`}}, Name: ast.NewIdent("."),
&ast.ImportSpec{Path: &ast.BasicLit{Kind: token.STRING, Value: `"fmt"`}}, Path: &ast.BasicLit{Kind: token.STRING, Value: `"git.offline-twitter.com/offline-labs/gas-stack/pkg/db"`},
&ast.ImportSpec{ },
Name: ast.NewIdent("."), &ast.ImportSpec{
Path: &ast.BasicLit{Kind: token.STRING, Value: `"git.offline-twitter.com/offline-labs/gas-stack/pkg/db"`}, Name: ast.NewIdent("."),
}, Path: &ast.BasicLit{
&ast.ImportSpec{ Kind: token.STRING,
Name: ast.NewIdent("."), Value: `"git.offline-twitter.com/offline-labs/gas-stack/pkg/flowutils"`,
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)) PanicIf(printer.Fprint(os.Stdout, fset, file))
} }