1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package comm
- import (
- "fmt"
- "os"
- "strings"
- "github.com/golang-migrate/migrate/v4"
- "github.com/golang-migrate/migrate/v4/database/mongodb"
- _ "github.com/golang-migrate/migrate/v4/source/file"
- )
- func AppMongoMiration() {
- ///data/migrations==mongodb://root:3dshow@3dshow-mongo-alpha:27017/dbname?query&&/data/migrations==mongodb://user:password@host:port/dbname?query
- config := os.Getenv("MONGO_MIGRATIONS")
- if len(config) < 1 {
- return
- }
- dbs := strings.Split(config, "&&")
- fmt.Println("mongo_migrations_dbs: ", dbs)
- for _, db := range dbs {
- frags := strings.Split(db, "==")
- if len(frags) != 2 {
- panic("mongo-migration config err=>" + db)
- }
- sourc := frags[0]
- dbUri := frags[1]
- p := &mongodb.Mongo{}
- d, err := p.Open(dbUri)
- if err != nil {
- panic("mongo-migration open err=>" + err.Error())
- }
- fileSource := fmt.Sprintf("file://%s", sourc)
- fmt.Println("mongo_migrations_file_source: ", fileSource)
- mi, err := migrate.NewWithDatabaseInstance(fileSource, "", d)
- if err != nil {
- panic("mongo-migration new instance err=>" + err.Error())
- }
- err = mi.Up()
- if err != nil {
- fmt.Println("mongo-migration up err=>" + err.Error())
- }
- }
- }
|