2025-02-19 14:23:58 +08:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
2025-05-13 18:48:17 +08:00
|
|
|
"gorm.io/driver/postgres"
|
2025-02-19 14:23:58 +08:00
|
|
|
"gorm.io/gen"
|
2025-05-13 18:48:17 +08:00
|
|
|
"gorm.io/gorm"
|
|
|
|
|
"gorm.io/gorm/schema"
|
2025-02-19 14:23:58 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func main() {
|
2025-02-25 15:56:33 +08:00
|
|
|
|
2025-05-13 18:48:17 +08:00
|
|
|
// 初始化
|
|
|
|
|
db, _ := gorm.Open(
|
|
|
|
|
postgres.Open("host=localhost user=test password=test dbname=app port=5432 sslmode=disable TimeZone=Asia/Shanghai"),
|
|
|
|
|
&gorm.Config{
|
|
|
|
|
NamingStrategy: schema.NamingStrategy{
|
|
|
|
|
SingularTable: true,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
)
|
2025-02-25 15:56:33 +08:00
|
|
|
|
2025-02-19 14:23:58 +08:00
|
|
|
g := gen.NewGenerator(gen.Config{
|
2025-05-13 18:48:17 +08:00
|
|
|
OutPath: "server/repo/queries",
|
|
|
|
|
ModelPkgPath: "models",
|
|
|
|
|
Mode: gen.WithDefaultQuery | gen.WithoutContext,
|
2025-02-19 14:23:58 +08:00
|
|
|
})
|
2025-05-13 18:48:17 +08:00
|
|
|
g.UseDB(db)
|
|
|
|
|
|
|
|
|
|
common := []gen.ModelOpt{
|
|
|
|
|
gen.FieldModify(func(field gen.Field) gen.Field {
|
|
|
|
|
if field.Type == "time.Time" {
|
|
|
|
|
field.Type = "orm.LocalDateTime"
|
|
|
|
|
}
|
|
|
|
|
return field
|
|
|
|
|
}),
|
|
|
|
|
}
|
2025-02-19 14:23:58 +08:00
|
|
|
|
2025-05-13 18:48:17 +08:00
|
|
|
// 生成需要的模型
|
|
|
|
|
g.GenerateModel("channel", common...)
|
|
|
|
|
g.GenerateModel("node", common...)
|
2025-02-19 14:23:58 +08:00
|
|
|
}
|