Add DefaultAlias option to TableSQLBuilder

This commit is contained in:
quirell 2023-08-02 10:03:59 +09:00
parent a2eb15e566
commit 39f9996b34
4 changed files with 55 additions and 1 deletions

View file

@ -285,6 +285,29 @@ func TestGeneratorTemplate_SQLBuilder_ChangeTypeAndFileName(t *testing.T) {
require.Contains(t, mpaaRating, "var FilmRatingEnumSQLBuilder = &struct {")
}
func TestGeneratorTemplate_SQLBuilder_DefaultAlias(t *testing.T) {
err := mysql2.Generate(
tempTestDir,
dbConnection("dvds"),
template.Default(postgres2.Dialect).
UseSchema(func(schemaMetaData metadata.Schema) template.Schema {
return template.DefaultSchema(schemaMetaData).
UseSQLBuilder(template.DefaultSQLBuilder().
UseTable(func(table metadata.Table) template.TableSQLBuilder {
if table.Name == "actor" {
return template.DefaultTableSQLBuilder(table).UseDefaultAlias("actors")
}
return template.DefaultTableSQLBuilder(table)
}),
)
}),
)
require.Nil(t, err)
actor := file2.Exists(t, defaultTableSQLBuilderFilePath, "actor.go")
require.Contains(t, actor, "var Actor = newActorTable(\"dvds\", \"actor\", \"actors\")")
}
func TestGeneratorTemplate_Model_AddTags(t *testing.T) {
err := mysql2.Generate(

View file

@ -341,6 +341,29 @@ func UseSchema(schema string) {
`)
}
func TestGeneratorTemplate_SQLBuilder_DefaultAlias(t *testing.T) {
err := postgres.Generate(
tempTestDir,
dbConnection,
template.Default(postgres2.Dialect).
UseSchema(func(schemaMetaData metadata.Schema) template.Schema {
return template.DefaultSchema(schemaMetaData).
UseSQLBuilder(template.DefaultSQLBuilder().
UseTable(func(table metadata.Table) template.TableSQLBuilder {
if table.Name == "actor" {
return template.DefaultTableSQLBuilder(table).UseDefaultAlias("actors")
}
return template.DefaultTableSQLBuilder(table)
}),
)
}),
)
require.Nil(t, err)
actor := file2.Exists(t, defaultTableSQLBuilderFilePath, "actor.go")
require.Contains(t, actor, "var Actor = newActorTable(\"dvds\", \"actor\", \"actors\")")
}
func TestGeneratorTemplate_Model_AddTags(t *testing.T) {
err := postgres.Generate(