37 lines
711 B
Go
37 lines
711 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"os/signal"
|
|
|
|
"go.uber.org/zap"
|
|
|
|
"git.derfenix.pro/fenix/protect_trans_info/application"
|
|
"git.derfenix.pro/fenix/protect_trans_info/application/repository"
|
|
)
|
|
|
|
func main() {
|
|
cfg, err := application.NewConfig()
|
|
if err != nil {
|
|
panic(fmt.Sprintf("load config: %v", err))
|
|
}
|
|
|
|
db, err := repository.NewDB(cfg.DB)
|
|
if err != nil {
|
|
panic(fmt.Sprintf("new db: %v", err))
|
|
}
|
|
|
|
logger, err := zap.NewProduction()
|
|
if err != nil {
|
|
panic(fmt.Sprintf("new logger: %v", err))
|
|
}
|
|
|
|
ctx, cancel := signal.NotifyContext(context.Background())
|
|
defer cancel()
|
|
|
|
if err := application.Migrate(ctx, db, logger); err != nil {
|
|
logger.Fatal("migrate failed", zap.Error(err))
|
|
}
|
|
}
|