DefaultColumns() helper on Table
This commit is contained in:
parent
00b8155f74
commit
38ea65434f
8 changed files with 50 additions and 3 deletions
|
|
@ -21,3 +21,16 @@ func (t Table) MutableColumns() []Column {
|
|||
|
||||
return ret
|
||||
}
|
||||
|
||||
// DefaultColumns returns list of columns with default values set for table
|
||||
func (t Table) DefaultColumns() []Column {
|
||||
var ret []Column
|
||||
|
||||
for _, column := range t.Columns {
|
||||
if column.HasDefault {
|
||||
ret = append(ret, column)
|
||||
}
|
||||
}
|
||||
|
||||
return ret
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ type {{structImplName}} struct {
|
|||
|
||||
AllColumns {{dialect.PackageName}}.ColumnList
|
||||
MutableColumns {{dialect.PackageName}}.ColumnList
|
||||
DefaultColumns {{dialect.PackageName}}.ColumnList
|
||||
}
|
||||
|
||||
type {{tableTemplate.TypeName}} struct {
|
||||
|
|
@ -78,6 +79,7 @@ func new{{tableTemplate.TypeName}}Impl(schemaName, tableName, alias string) {{st
|
|||
{{- end}}
|
||||
allColumns = {{dialect.PackageName}}.ColumnList{ {{columnList .Columns}} }
|
||||
mutableColumns = {{dialect.PackageName}}.ColumnList{ {{columnList .MutableColumns}} }
|
||||
defaultColumns = {{dialect.PackageName}}.ColumnList{ {{columnList .DefaultColumns}} }
|
||||
)
|
||||
|
||||
return {{structImplName}}{
|
||||
|
|
@ -93,6 +95,7 @@ func new{{tableTemplate.TypeName}}Impl(schemaName, tableName, alias string) {{st
|
|||
|
||||
AllColumns: allColumns,
|
||||
MutableColumns: mutableColumns,
|
||||
DefaultColumns: defaultColumns,
|
||||
}
|
||||
}
|
||||
`
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ type TableSQLBuilderColumn struct {
|
|||
Type string
|
||||
}
|
||||
|
||||
var reservedKeywords = []string{"TableName", "Table", "SchemaName", "Alias", "AllColumns", "MutableColumns"}
|
||||
var reservedKeywords = []string{"TableName", "Table", "SchemaName", "Alias", "AllColumns", "MutableColumns", "DefaultColumns"}
|
||||
|
||||
func renameIfReserved(name string) string {
|
||||
if slices.Contains(reservedKeywords, name) {
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ func TestColumnRenameReserved(t *testing.T) {
|
|||
{col: "Alias", want: "Alias_"},
|
||||
{col: "AllColumns", want: "AllColumns_"},
|
||||
{col: "MutableColumns", want: "MutableColumns_"},
|
||||
{col: "DefaultColumns", want: "DefaultColumns_"},
|
||||
{col: "OtherColumn", want: "OtherColumn"},
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue