Restructure a bit
This commit is contained in:
parent
888a87ab86
commit
adbb1216af
4 changed files with 72 additions and 3 deletions
9
internal/pilgrim_common/db_adapter.go
Normal file
9
internal/pilgrim_common/db_adapter.go
Normal file
|
@ -0,0 +1,9 @@
|
|||
package pilgrim_common
|
||||
|
||||
type PilgrimDbAdapter interface {
|
||||
Up()
|
||||
Down()
|
||||
ValidateChecksums()
|
||||
ValidateLatest()
|
||||
ValidateMigrationOrder()
|
||||
}
|
52
internal/pilgrim_core/pilgrim.go
Normal file
52
internal/pilgrim_core/pilgrim.go
Normal file
|
@ -0,0 +1,52 @@
|
|||
package pilgrim_core
|
||||
|
||||
import (
|
||||
"mvvasilev.dev/pilgrim/internal/pilgrim_common"
|
||||
"mvvasilev.dev/pilgrim/internal/pilgrim_conf"
|
||||
)
|
||||
|
||||
type Pilgrim interface {
|
||||
Context() pilgrim_conf.PilgrimConfigurationRetriever
|
||||
Execute()
|
||||
}
|
||||
|
||||
type pilgrimImpl struct {
|
||||
ctx pilgrim_conf.PilgrimConfigurationRetriever
|
||||
dbAdapter pilgrim_common.PilgrimDbAdapter
|
||||
}
|
||||
|
||||
func NewPilgrim(ctx pilgrim_conf.PilgrimConfigurationRetriever) *pilgrimImpl {
|
||||
p := new(pilgrimImpl)
|
||||
|
||||
p.ctx = ctx
|
||||
p.dbAdapter = createAdapter(ctx.UrlParts().Driver)
|
||||
|
||||
return p
|
||||
}
|
||||
|
||||
func createAdapter(driver pilgrim_conf.DbDriver) pilgrim_common.PilgrimDbAdapter {
|
||||
switch driver {
|
||||
case pilgrim_conf.DbDriver_MSSQL:
|
||||
panic("Not implemented")
|
||||
case pilgrim_conf.DbDriver_MariaDB:
|
||||
panic("Not implemented")
|
||||
case pilgrim_conf.DbDriver_MySQL:
|
||||
panic("Not implemented")
|
||||
case pilgrim_conf.DbDriver_Oracle:
|
||||
panic("Not implemented")
|
||||
case pilgrim_conf.DbDriver_Postgres:
|
||||
panic("Not implemented")
|
||||
case pilgrim_conf.DbDriver_SQLite:
|
||||
panic("Not implemented")
|
||||
default:
|
||||
panic("Not implemented")
|
||||
}
|
||||
}
|
||||
|
||||
func (p *pilgrimImpl) Context() pilgrim_conf.PilgrimConfigurationRetriever {
|
||||
return p.ctx
|
||||
}
|
||||
|
||||
func (p *pilgrimImpl) Execute() {
|
||||
// TODO
|
||||
}
|
7
internal/pilgrim_db/postgres_adapter.go
Normal file
7
internal/pilgrim_db/postgres_adapter.go
Normal file
|
@ -0,0 +1,7 @@
|
|||
package pilgrim_db
|
||||
|
||||
import "mvvasilev.dev/pilgrim/internal/pilgrim_conf"
|
||||
|
||||
type postgresDbAdapter struct {
|
||||
ctx pilgrim_conf.PilgrimConfigurationRetriever
|
||||
}
|
7
main.go
7
main.go
|
@ -1,9 +1,8 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"mvvasilev.dev/pilgrim/internal/pilgrim_conf"
|
||||
"mvvasilev.dev/pilgrim/internal/pilgrim_core"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@ -12,5 +11,7 @@ func main() {
|
|||
pilgrim_conf.NewEnvVarContext(),
|
||||
)
|
||||
|
||||
log.Println(pilgrimContext)
|
||||
pilgrim := pilgrim_core.NewPilgrim(pilgrimContext)
|
||||
|
||||
pilgrim.Execute()
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue