From a033349c76d986385dfdf1a2c5b046f427325582 Mon Sep 17 00:00:00 2001 From: Hein Date: Sun, 8 Feb 2026 14:50:39 +0200 Subject: [PATCH] refactor(writers): simplify model name generation by removing singularization --- pkg/writers/bun/template_data.go | 3 +-- pkg/writers/bun/writer.go | 3 +-- pkg/writers/bun/writer_test.go | 6 +++--- pkg/writers/gorm/template_data.go | 3 +-- pkg/writers/gorm/writer.go | 3 +-- pkg/writers/gorm/writer_test.go | 6 +++--- 6 files changed, 10 insertions(+), 14 deletions(-) diff --git a/pkg/writers/bun/template_data.go b/pkg/writers/bun/template_data.go index 74e46e7..4789942 100644 --- a/pkg/writers/bun/template_data.go +++ b/pkg/writers/bun/template_data.go @@ -110,8 +110,7 @@ func NewModelData(table *models.Table, schema string, typeMapper *TypeMapper, fl tableName := writers.QualifiedTableName(schema, table.Name, flattenSchema) // Generate model name: Model + Schema + Table (all PascalCase) - singularTable := Singularize(table.Name) - tablePart := SnakeCaseToPascalCase(singularTable) + tablePart := SnakeCaseToPascalCase(table.Name) // Include schema name in model name var modelName string diff --git a/pkg/writers/bun/writer.go b/pkg/writers/bun/writer.go index b036a1d..174ab41 100644 --- a/pkg/writers/bun/writer.go +++ b/pkg/writers/bun/writer.go @@ -318,8 +318,7 @@ func (w *Writer) findTable(schemaName, tableName string, db *models.Database) *m // getModelName generates the model name from schema and table name func (w *Writer) getModelName(schemaName, tableName string) string { - singular := Singularize(tableName) - tablePart := SnakeCaseToPascalCase(singular) + tablePart := SnakeCaseToPascalCase(tableName) // Include schema name in model name var modelName string diff --git a/pkg/writers/bun/writer_test.go b/pkg/writers/bun/writer_test.go index 9ecd74e..bae0b1e 100644 --- a/pkg/writers/bun/writer_test.go +++ b/pkg/writers/bun/writer_test.go @@ -66,7 +66,7 @@ func TestWriter_WriteTable(t *testing.T) { // Verify key elements are present expectations := []string{ "package models", - "type ModelPublicUser struct", + "type ModelPublicUsers struct", "bun.BaseModel", "table:public.users", "alias:users", @@ -78,9 +78,9 @@ func TestWriter_WriteTable(t *testing.T) { "resolvespec_common.SqlTime", "bun:\"id", "bun:\"email", - "func (m ModelPublicUser) TableName() string", + "func (m ModelPublicUsers) TableName() string", "return \"public.users\"", - "func (m ModelPublicUser) GetID() int64", + "func (m ModelPublicUsers) GetID() int64", } for _, expected := range expectations { diff --git a/pkg/writers/gorm/template_data.go b/pkg/writers/gorm/template_data.go index f269b52..f773ac4 100644 --- a/pkg/writers/gorm/template_data.go +++ b/pkg/writers/gorm/template_data.go @@ -109,8 +109,7 @@ func NewModelData(table *models.Table, schema string, typeMapper *TypeMapper, fl tableName := writers.QualifiedTableName(schema, table.Name, flattenSchema) // Generate model name: Model + Schema + Table (all PascalCase) - singularTable := Singularize(table.Name) - tablePart := SnakeCaseToPascalCase(singularTable) + tablePart := SnakeCaseToPascalCase(table.Name) // Include schema name in model name var modelName string diff --git a/pkg/writers/gorm/writer.go b/pkg/writers/gorm/writer.go index a35f368..47695fd 100644 --- a/pkg/writers/gorm/writer.go +++ b/pkg/writers/gorm/writer.go @@ -312,8 +312,7 @@ func (w *Writer) findTable(schemaName, tableName string, db *models.Database) *m // getModelName generates the model name from schema and table name func (w *Writer) getModelName(schemaName, tableName string) string { - singular := Singularize(tableName) - tablePart := SnakeCaseToPascalCase(singular) + tablePart := SnakeCaseToPascalCase(tableName) // Include schema name in model name var modelName string diff --git a/pkg/writers/gorm/writer_test.go b/pkg/writers/gorm/writer_test.go index e6e9137..514ec4a 100644 --- a/pkg/writers/gorm/writer_test.go +++ b/pkg/writers/gorm/writer_test.go @@ -66,7 +66,7 @@ func TestWriter_WriteTable(t *testing.T) { // Verify key elements are present expectations := []string{ "package models", - "type ModelPublicUser struct", + "type ModelPublicUsers struct", "ID", "int64", "Email", @@ -75,9 +75,9 @@ func TestWriter_WriteTable(t *testing.T) { "time.Time", "gorm:\"column:id", "gorm:\"column:email", - "func (m ModelPublicUser) TableName() string", + "func (m ModelPublicUsers) TableName() string", "return \"public.users\"", - "func (m ModelPublicUser) GetID() int64", + "func (m ModelPublicUsers) GetID() int64", } for _, expected := range expectations {