feat: add gen script

pull/371/head
LvGJ 1 year ago
parent f6b0328b6c
commit 6acf8c1114

3
.gitignore vendored

@ -7,4 +7,5 @@ sonic.db
sonic
__debug_bin
/resources/template/theme/
!/resources/template/theme/default-theme-anatole
!/resources/template/theme/default-theme-anatole
/conf/config.local.yaml

@ -0,0 +1,70 @@
package main
import (
"fmt"
"strings"
"gorm.io/driver/mysql"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"gorm.io/gen"
)
const MySQLDSN = ""
var DB *gorm.DB
func init() {
DB = ConnectDB(MySQLDSN).Debug()
}
var dataMap = map[string]func(gorm.ColumnType) (dataType string){}
func main() {
g := gen.NewGenerator(gen.Config{
OutPath: "../../dal",
ModelPkgPath: "../../model/entity",
Mode: gen.WithDefaultQuery,
WithUnitTest: false,
//FieldNullable: true,
//FieldCoverable: true,
FieldWithIndexTag: true,
//FieldSignable: true,
FieldWithTypeTag: true,
})
g.WithModelNameStrategy(func(tableName string) (modelName string) {
if tableName == "meta" {
return "Meta"
}
return DB.NamingStrategy.SchemaName(tableName)
})
g.UseDB(DB)
//g.WithDataTypeMap(dataMap)
//g.WithJSONTagNameStrategy(func(c string) string { return "-" })
//
//g.ApplyBasic(dto.AttachmentDTO{})
g.ApplyBasic(g.GenerateAllTable()...)
g.GenerateAllTable()
g.Execute()
}
func ConnectDB(dsn string) (db *gorm.DB) {
var err error
if strings.HasSuffix(dsn, "sqlite.db") {
db, err = gorm.Open(sqlite.Open(dsn), &gorm.Config{})
} else {
db, err = gorm.Open(mysql.Open(dsn))
}
if err != nil {
panic(fmt.Errorf("connect db fail: %w", err))
}
return db
}

@ -0,0 +1,9 @@
#!/bin/bash
PROJECT_DIR=$(dirname "$0")
GENERATE_DIR="$PROJECT_DIR/gen"
cd "$GENERATE_DIR" || exit
echo "Start Generating"
go run .
Loading…
Cancel
Save