fix: rebuild MES as compilable go-zero+ent backend (renamed bj_power_mes), restore 3 workstation projects from pristine original, align naming; all Go projects go build clean

This commit is contained in:
SunYF
2026-08-27 10:56:41 +08:00
parent 380715f8a9
commit 371b494c54
523 changed files with 67923 additions and 24758 deletions
+113
View File
@@ -0,0 +1,113 @@
package main
import (
"context"
"database/sql"
"encoding/csv"
"io"
"log"
"os"
"path/filepath"
"strconv"
"bj_power_mes/ent"
"entgo.io/ent/dialect"
entsql "entgo.io/ent/dialect/sql"
_ "github.com/jackc/pgx/v5/stdlib"
)
var (
client *ent.Client
ctx = context.Background()
)
func setUp() {
db, err := sql.Open("pgx", "postgresql://postgres:postgres@127.0.0.1:5432/back_cover")
if err != nil {
log.Fatal(err)
}
_, err = db.Query("select 1")
if err != nil {
log.Fatal(err)
}
drv := entsql.OpenDB(dialect.Postgres, db)
client = ent.NewClient(ent.Driver(drv)).Debug()
}
func tearDown() {
err := client.Close()
if err != nil {
return
}
}
var commands = map[string]func(){
"signals": initSignals,
}
func main() {
if len(os.Args) < 2 {
log.Fatal("please specify the command")
}
if len(os.Args) > 1 {
setUp()
defer tearDown()
args := os.Args[1:]
for _, cmd := range args {
if v, ok := commands[cmd]; ok {
log.Println("initialize", cmd)
v()
}
}
}
}
func initSignals() {
signalFilePath, _ := filepath.Abs("../doc/signal.csv")
file, err := os.Open(signalFilePath)
if err != nil {
if os.IsNotExist(err) {
log.Fatalf("%s is not found", signalFilePath)
}
log.Fatal("signals initialized failed!", err)
}
r := csv.NewReader(file)
client.Signal.Delete().ExecX(ctx)
line := 0
for {
records, err := r.Read()
if err == io.EOF {
break
} else if err != nil {
log.Fatal(err)
}
if line == 0 {
line++
continue
}
name := records[1]
desc := records[2]
isStatus, _ := strconv.Atoi(records[3])
sender, _ := strconv.Atoi(records[4])
address := records[5]
offset, _ := strconv.Atoi(records[6])
client.Signal.Create().
SetID(line).
SetIsStatus(isStatus).
SetName(name).
SetDescription(desc).
SetSender(sender).
SetAddress(address).
SetReplyOffset(offset).
SaveX(ctx)
line++
}
log.Println("signals initialized successfully!")
}
+28
View File
@@ -0,0 +1,28 @@
//go:build ignore
package main
import (
"log"
"entgo.io/ent/entc"
"entgo.io/ent/entc/gen"
)
func main() {
if err := entc.Generate(
".",
&gen.Config{
Target: "../ent",
Package: "bj_power_mes/ent",
Features: []gen.Feature{
gen.FeatureExecQuery, // Allows users to execute statements using the ExecContext/QueryContext methods of the underlying driver
gen.FeatureLock, // Allows users to use row-level locking in SQL using the 'FOR {UPDATE|SHARE}' clauses
gen.FeatureModifier, // Allows users to attach custom modifiers to queries
gen.FeatureNamedEdges, // NamedEdges provides an API for eager-loading edges with dynamic names
},
}); err != nil {
log.Fatal("running ent codegen:", err)
}
log.Println("ent code generated successfully!")
}
+63
View File
@@ -0,0 +1,63 @@
//go:build ignore
package main
import (
"context"
"database/sql"
"log"
"bj_power_mes/ent"
"entgo.io/ent/dialect"
entsql "entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/schema"
_ "github.com/jackc/pgx/v5/stdlib"
)
var (
client *ent.Client
ctx = context.Background()
)
func setUp() {
db, err := sql.Open("pgx", "postgresql://postgres:postgres@127.0.0.1:5432/back_cover")
//db, err := sql.Open("pgx", "postgresql://postgres:hardman@192.168.1.125:5432/back_cover")
if err != nil {
log.Fatal(err)
}
_, err = db.Query("select 1")
if err != nil {
log.Fatal(err)
}
drv := entsql.OpenDB(dialect.Postgres, db)
client = ent.NewClient(ent.Driver(drv))
}
func tearDown() {
err := client.Close()
if err != nil {
return
}
}
func main() {
setUp()
defer tearDown()
// Run the auto migration tool.
// WithDropColumn(false): 只建新表/加列,不删任何列,保证生产数据安全
if err := client.Debug().Schema.Create(
context.Background(),
schema.WithDropIndex(true),
schema.WithDropColumn(false),
schema.WithDialect(dialect.Postgres), // Ent dialect to use
schema.WithForeignKeys(false), // 不创建外键约束
); err != nil {
log.Fatalf("failed creating schema resources: %v", err)
}
log.Println("schemas migrated successfully!")
}