64 lines
1.3 KiB
Go
64 lines
1.3 KiB
Go
//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!")
|
|
}
|