diff --git a/README.md b/README.md index cc2a8e8..810219e 100644 --- a/README.md +++ b/README.md @@ -50,39 +50,39 @@ $ cat /tmp/sample.db.gen.go package sample -func (s User) TableName() string { +func (s *User) TableName() string { return "Users" } -func (s User) ColumnNames() []string { +func (s *User) ColumnNames() []string { return []string{"Id", "Name", "Age"} } -func (s User) ColumnName_ID() string { +func (s *User) ColumnName_ID() string { return "Id" } -func (s User) ColumnName_Name() string { +func (s *User) ColumnName_Name() string { return "Name" } -func (s User) ColumnName_Age() string { +func (s *User) ColumnName_Age() string { return "Age" } -func (s Group) ColumnNames() []string { +func (s *Group) ColumnNames() []string { return []string{"Id", "Name", "Description"} } -func (s Group) ColumnName_ID() string { +func (s *Group) ColumnName_ID() string { return "Id" } -func (s Group) ColumnName_Name() string { +func (s *Group) ColumnName_Name() string { return "Name" } -func (s Group) ColumnName_Description() string { +func (s *Group) ColumnName_Description() string { return "Description" } ``` diff --git a/internal/arcgen/lang/go/generate.go b/internal/arcgen/lang/go/generate.go index c386a34..8767e26 100644 --- a/internal/arcgen/lang/go/generate.go +++ b/internal/arcgen/lang/go/generate.go @@ -140,8 +140,10 @@ func appendAST(file *ast.File, structName string, tableName string, methodNameTa Name: "s", }, }, - Type: &ast.Ident{ - Name: structName, // MEMO: struct name + Type: &ast.StarExpr{ + X: &ast.Ident{ + Name: structName, // MEMO: struct name + }, }, }, }, @@ -201,8 +203,10 @@ func generateASTColumnMethods(structName string, methodNameColumns string, prefi Name: "s", }, }, - Type: &ast.Ident{ - Name: structName, // MEMO: struct name + Type: &ast.StarExpr{ + X: &ast.Ident{ + Name: structName, // MEMO: struct name + }, }, }, }, @@ -251,8 +255,10 @@ func generateASTColumnMethods(structName string, methodNameColumns string, prefi Name: "s", }, }, - Type: &ast.Ident{ - Name: structName, // MEMO: struct name + Type: &ast.StarExpr{ + X: &ast.Ident{ + Name: structName, // MEMO: struct name + }, }, }, }, diff --git a/internal/arcgen/lang/go/tests/common.golden b/internal/arcgen/lang/go/tests/common.golden index bb42a4f..05a4c23 100644 --- a/internal/arcgen/lang/go/tests/common.golden +++ b/internal/arcgen/lang/go/tests/common.golden @@ -4,38 +4,38 @@ package main -func (s User) GetTableName() string { +func (s *User) GetTableName() string { return "Users" } -func (s User) GetColumnNames() []string { +func (s *User) GetColumnNames() []string { return []string{"Id", "Name", "Email", "Age"} } -func (s User) GetColumnName_ID() string { +func (s *User) GetColumnName_ID() string { return "Id" } -func (s User) GetColumnName_Name() string { +func (s *User) GetColumnName_Name() string { return "Name" } -func (s User) GetColumnName_Email() string { +func (s *User) GetColumnName_Email() string { return "Email" } -func (s User) GetColumnName_Age() string { +func (s *User) GetColumnName_Age() string { return "Age" } -func (s Group) GetColumnNames() []string { +func (s *Group) GetColumnNames() []string { return []string{"Id", "Name"} } -func (s Group) GetColumnName_ID() string { +func (s *Group) GetColumnName_ID() string { return "Id" } -func (s Group) GetColumnName_Name() string { +func (s *Group) GetColumnName_Name() string { return "Name" }