Files
bj_power/bj_power_mes/schema/tools/migrate.go
T

64 lines
1.3 KiB
Go
Raw Normal View History

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