databse provider

This commit is contained in:
Rogee
2025-09-10 19:28:50 +08:00
parent f37c274f27
commit c5df9a597d
3 changed files with 79 additions and 0 deletions

View File

@@ -1,5 +1,11 @@
ignores:
- migrations
- river_client
- river_client_queue
- river_job
- river_leader
- river_migration
- river_queue
imports:
- go.ipao.vip/gen
field_type:

View File

@@ -5,6 +5,14 @@ import (
"database/sql"
"embed"
"fmt"
"{{.ModuleName}}/database/models"
"github.com/rogeecn/atom"
"go.ipao.vip/atom/container/container"
"go.ipao.vip/atom/contracts/contracts"
"go.ipao.vip/atom/opt/opt"
"gorm.io/gorm"
)
//go:embed migrations/*
@@ -31,3 +39,17 @@ func WrapLikeLeft(v string) string {
func WrapLikeRight(v string) string {
return "%" + v
}
func Provide(...opt.Option) error {
return container.Container.Provide(func(db *gorm.DB) contracts.Initial {
models.SetDefault(db)
return models.Q
}, atom.GroupInitial)
}
func DefaultProvider() container.ProviderContainer {
return container.ProviderContainer{
Provider: Provide,
Options: []opt.Option{},
}
}