Первый прототип с основными возможностями
This commit is contained in:
41
db/ent.go
Normal file
41
db/ent.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
|
||||
"code.gurenya.net/carlsmei/muninn-aio/config"
|
||||
"code.gurenya.net/carlsmei/muninn-aio/ent"
|
||||
)
|
||||
|
||||
var (
|
||||
entClient *ent.Client
|
||||
)
|
||||
|
||||
func GetEntClient() *ent.Client {
|
||||
return entClient
|
||||
}
|
||||
|
||||
func SetEntClient(new *ent.Client) {
|
||||
entClient = new
|
||||
}
|
||||
|
||||
func EntInit() {
|
||||
driver := config.Env.DBType
|
||||
dsn := config.Env.DBDSN
|
||||
|
||||
if driver != "sqlite3" && driver != "pq" && driver != "mysql" {
|
||||
panic("unsupported driver")
|
||||
}
|
||||
|
||||
client, err := ent.Open(driver, dsn)
|
||||
if err != nil {
|
||||
log.Fatalf("failed opening connection to sqlite: %v", err)
|
||||
}
|
||||
|
||||
if err := client.Schema.Create(context.Background()); err != nil {
|
||||
log.Fatalf("failed creating schema resources: %v", err)
|
||||
}
|
||||
|
||||
entClient = client
|
||||
}
|
||||
Reference in New Issue
Block a user