44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
package lib
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
func Backend() {
|
|
generateDB()
|
|
}
|
|
|
|
func generateDB() {
|
|
// TODO
|
|
if err := os.MkdirAll(filepath.Join(AppConfig.OutdirBackend, "db", "model"), 0775); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
generateModelBase()
|
|
|
|
}
|
|
|
|
func generateModelBase() {
|
|
if err := WriteTmplFile("tmpl/backend/db/model/base.tmpl", filepath.Join(AppConfig.OutdirBackend, "db", "model", "base.go")); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
if err := WriteTmplFile("tmpl/backend/db/model/base-int.tmpl", filepath.Join(AppConfig.OutdirBackend, "db", "model", "base-int.go")); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
if err := WriteTmplFile("tmpl/backend/db/transaction.tmpl", filepath.Join(AppConfig.OutdirBackend, "db", "transaction.go")); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
if err := PrepareTmplFile("tmpl/backend/db/db.tmpl", Project, filepath.Join(AppConfig.OutdirBackend, "db", "db.go")); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
if len(Project.DB.Tables) > 0 {
|
|
for _, table := range Project.DB.Tables {
|
|
if err := PrepareTmplFile("tmpl/backend/db/model/model.tmpl", table, filepath.Join(AppConfig.OutdirBackend, "db", "model", strings.ToLower(table.Name)+".go")); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|
|
}
|
|
}
|