go-jet / jet

Type safe SQL builder with code generation and automatic query result data mapping
Apache License 2.0
2.52k stars 118 forks source link

Add DefaultAlias option to TableSQLBuilder #259

Closed quirell closed 1 year ago

quirell commented 1 year ago

The following code

func generateJetTypes(connectionString string) error {
    return jet.GenerateDSN(connectionString, "public", "gen", template.Default(postgres.Dialect).
        UseSchema(func(schemaMetaData metadata.Schema) template.Schema {
            return template.DefaultSchema(schemaMetaData)
            .UseSQLBuilder(template.DefaultSQLBuilder().
                UseTable(func(table metadata.Table) template.TableSQLBuilder {
                    return template.DefaultTableSQLBuilder(table).UseDefaultAlias(strings.Trim(table.Name, "s"))
                }))
        }))
}

generates the following output

(...)
var Users = newUsersTable("public", "users", "user")

type usersTable struct {
(...)

for the following table

CREATE TABLE users (
    id UUID PRIMARY KEY,
    name character varying(45) NOT NULL,
    surname character varying(45) NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    created_at timestamp without time zone NOT NULL
);
codecov-commenter commented 1 year ago

Codecov Report

Merging #259 (39f9996) into master (a2eb15e) will increase coverage by 0.00%. The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@           Coverage Diff           @@
##           master     #259   +/-   ##
=======================================
  Coverage   90.55%   90.55%           
=======================================
  Files         124      124           
  Lines        7060     7064    +4     
=======================================
+ Hits         6393     6397    +4     
  Misses        515      515           
  Partials      152      152           
Files Changed Coverage Δ
generator/template/sql_builder_template.go 87.27% <100.00%> (+0.48%) :arrow_up:
go-jet commented 1 year ago

Looks good.