mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-03 16:00:25 +08:00
* fix: 代码合并 * feat:支持数据库版本兼容,目前兼容了oracle11g部分特性 * fix: 修改数据同步bug,数据sql里指定修改字段别,导致未正确记录修改字段值 * feat: 数据库迁移支持定时迁移和迁移到sql文件
62 lines
1.9 KiB
Go
62 lines
1.9 KiB
Go
package application
|
|
|
|
import (
|
|
"mayfly-go/pkg/ioc"
|
|
"sync"
|
|
)
|
|
|
|
func InitIoc() {
|
|
ioc.Register(new(instanceAppImpl), ioc.WithComponentName("DbInstanceApp"))
|
|
ioc.Register(new(dbAppImpl), ioc.WithComponentName("DbApp"))
|
|
ioc.Register(new(dbSqlExecAppImpl), ioc.WithComponentName("DbSqlExecApp"))
|
|
ioc.Register(new(dbSqlAppImpl), ioc.WithComponentName("DbSqlApp"))
|
|
ioc.Register(new(dataSyncAppImpl), ioc.WithComponentName("DbDataSyncTaskApp"))
|
|
ioc.Register(new(dbTransferAppImpl), ioc.WithComponentName("DbTransferTaskApp"))
|
|
ioc.Register(new(dbTransferFileAppImpl), ioc.WithComponentName("DbTransferFileApp"))
|
|
|
|
ioc.Register(newDbScheduler(), ioc.WithComponentName("DbScheduler"))
|
|
ioc.Register(new(DbBackupApp), ioc.WithComponentName("DbBackupApp"))
|
|
ioc.Register(new(DbRestoreApp), ioc.WithComponentName("DbRestoreApp"))
|
|
ioc.Register(newDbBinlogApp(), ioc.WithComponentName("DbBinlogApp"))
|
|
}
|
|
|
|
func Init() {
|
|
sync.OnceFunc(func() {
|
|
//if err := GetDbBackupApp().Init(); err != nil {
|
|
// panic(fmt.Sprintf("初始化 DbBackupApp 失败: %v", err))
|
|
//}
|
|
//if err := GetDbRestoreApp().Init(); err != nil {
|
|
// panic(fmt.Sprintf("初始化 DbRestoreApp 失败: %v", err))
|
|
//}
|
|
//if err := GetDbBinlogApp().Init(); err != nil {
|
|
// panic(fmt.Sprintf("初始化 DbBinlogApp 失败: %v", err))
|
|
//}
|
|
GetDataSyncTaskApp().InitCronJob()
|
|
GetDbTransferTaskApp().InitCronJob()
|
|
InitDbFlowHandler()
|
|
})()
|
|
}
|
|
|
|
func GetDbSqlExecApp() DbSqlExec {
|
|
return ioc.Get[DbSqlExec]("DbSqlExecApp")
|
|
}
|
|
|
|
func GetDbBackupApp() *DbBackupApp {
|
|
return ioc.Get[*DbBackupApp]("DbBackupApp")
|
|
}
|
|
|
|
func GetDbRestoreApp() *DbRestoreApp {
|
|
return ioc.Get[*DbRestoreApp]("DbRestoreApp")
|
|
}
|
|
|
|
func GetDbBinlogApp() *DbBinlogApp {
|
|
return ioc.Get[*DbBinlogApp]("DbBinlogApp")
|
|
}
|
|
|
|
func GetDataSyncTaskApp() DataSyncTask {
|
|
return ioc.Get[DataSyncTask]("DbDataSyncTaskApp")
|
|
}
|
|
func GetDbTransferTaskApp() DbTransferTask {
|
|
return ioc.Get[DbTransferTask]("DbTransferTaskApp")
|
|
}
|