//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!") }