1 Star 2 Fork 3

kristas/booting-go

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
flyway_starter.go 874 Bytes
一键复制 编辑 原始数据 按行查看 历史
kristas 提交于 2021-12-17 22:28 +08:00 . feat: rebuild db init flow
package flyway
import (
"gitee.com/kristas/booting-go/framework/core/bean"
"gitee.com/kristas/booting-go/framework/core/statement/types"
ds "gitee.com/kristas/booting-go/framework/data/datasource"
"gitee.com/kristas/booting-go/plugin/gorm_plugin"
"gorm.io/gorm"
)
func NewStarter(datasource ...string) bean.Bean {
d := &starter{}
if len(datasource) > 0 {
d.datasource = datasource[0]
} else {
d.datasource = ds.PropertiesPath
}
return d
}
type starter struct {
types.Component
datasource string
db *gorm.DB
}
func (f *starter) Bean() string {
return "flyway_starter:" + f.datasource
}
func (f *starter) DataSource() string {
return f.datasource
}
func (f *starter) SetDB(db ds.DB) {
f.db = gorm_plugin.MustBindDB(db)
}
func (f *starter) Init() error {
err := NewGormMigrator(f.db).Execute()
if err != nil {
return err
}
return nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/kristas/booting-go.git
git@gitee.com:kristas/booting-go.git
kristas
booting-go
booting-go
v1.4.4

搜索帮助