Create custom jet template for both stadia and arcgis
This commit is contained in:
parent
0e0b2489e6
commit
6a47302192
5 changed files with 176 additions and 43 deletions
|
|
@ -18,7 +18,6 @@ aliases:
|
|||
no_tests: true
|
||||
psql:
|
||||
schemas:
|
||||
- "arcgis"
|
||||
- "comms"
|
||||
- "fieldseeker"
|
||||
- "fileupload"
|
||||
|
|
|
|||
|
|
@ -17,27 +17,38 @@ type Box2D struct {
|
|||
Y float64
|
||||
}
|
||||
|
||||
func main() {
|
||||
err := genpostgres.GenerateDSN(
|
||||
"postgresql://?host=/var/run/postgresql&sslmode=disable&dbname=nidus-sync",
|
||||
"arcgis",
|
||||
"../gen",
|
||||
template.Default(postgres.Dialect).UseSchema(func(schema metadata.Schema) template.Schema {
|
||||
return template.DefaultSchema(schema).UseModel(template.DefaultModel().UseTable(func(table metadata.Table) template.TableModel {
|
||||
return template.DefaultTableModel(table).UseField(func(column metadata.Column) template.TableModelField {
|
||||
defaultTableModelField := template.DefaultTableModelField(column)
|
||||
//log.Printf("'%s' '%s' '%s'", table.Name, column.Name, column.DataType.Name)
|
||||
if column.Name == "extent" && column.DataType.Name == "box2d" {
|
||||
defaultTableModelField.Type = template.NewType(Box2D{})
|
||||
}
|
||||
return defaultTableModelField
|
||||
})
|
||||
}),
|
||||
)
|
||||
var schemas []string = []string{
|
||||
"arcgis",
|
||||
"stadia",
|
||||
}
|
||||
|
||||
func customTemplate() template.Template {
|
||||
return template.Default(postgres.Dialect).UseSchema(func(schema metadata.Schema) template.Schema {
|
||||
return template.DefaultSchema(schema).UseModel(template.DefaultModel().UseTable(func(table metadata.Table) template.TableModel {
|
||||
return template.DefaultTableModel(table).UseField(func(column metadata.Column) template.TableModelField {
|
||||
defaultTableModelField := template.DefaultTableModelField(column)
|
||||
//log.Printf("'%s' '%s' '%s'", table.Name, column.Name, column.DataType.Name)
|
||||
if column.Name == "extent" && column.DataType.Name == "box2d" {
|
||||
defaultTableModelField.Type = template.NewType(Box2D{})
|
||||
}
|
||||
return defaultTableModelField
|
||||
})
|
||||
}),
|
||||
)
|
||||
if err != nil {
|
||||
log.Printf("Failed: %v", err)
|
||||
os.Exit(1)
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
func main() {
|
||||
for _, schema := range schemas {
|
||||
err := genpostgres.GenerateDSN(
|
||||
"postgresql://?host=/var/run/postgresql&sslmode=disable&dbname=nidus-sync",
|
||||
schema,
|
||||
"../gen",
|
||||
customTemplate(),
|
||||
)
|
||||
if err != nil {
|
||||
log.Printf("Failed: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p bash
|
||||
jet -dsn="postgresql://?host=/var/run/postgresql&sslmode=disable&dbname=nidus-sync" -schema=stadia -path=./gen
|
||||
jet -dsn="postgresql://?host=/var/run/postgresql&sslmode=disable&dbname=nidus-sync" -schema=stadia -schema=arcgis -path=./gen
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue