From f3c404c8c79fa47e67206f0798919fab70312051 Mon Sep 17 00:00:00 2001 From: edwardro22 Date: Wed, 30 Aug 2017 01:26:58 +0000 Subject: [PATCH] Fixed the rest of migrator v1 --- migrator/action.go | 5 +++-- migrator/action_plan.go | 23 +++++++++++++++-------- migrator/action_trigger.go | 2 +- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/migrator/action.go b/migrator/action.go index 36f685c57..b8a758451 100644 --- a/migrator/action.go +++ b/migrator/action.go @@ -19,6 +19,7 @@ package migrator import ( "fmt" + "log" "github.com/cgrates/cgrates/engine" "github.com/cgrates/cgrates/utils" @@ -53,7 +54,7 @@ func (m *Migrator) migrateActions() (err error) { return err } if v1acts == nil { - log.Print("No Actions found") + log.Print("No Actions found with key:", actv1key) } else { for _, v1act := range *v1acts { act := v1act.AsAction() @@ -114,7 +115,7 @@ func (m *Migrator) getV1ActionFromDB(key string) (v1act *v1Actions, err error) { if strVal, err := dataDB.Cmd("GET", key).Bytes(); err != nil { return nil, err } else { - if err := m.mrshlr.Unmarshal(strVal, v1act); err != nil { + if err := m.mrshlr.Unmarshal(strVal, &v1act); err != nil { return nil, err } return v1act, nil diff --git a/migrator/action_plan.go b/migrator/action_plan.go index f1c99b92c..af1949036 100644 --- a/migrator/action_plan.go +++ b/migrator/action_plan.go @@ -19,6 +19,7 @@ package migrator import ( "fmt" + "log" "strings" "time" @@ -55,19 +56,26 @@ func (at *v1ActionPlan) IsASAP() bool { func (m *Migrator) migrateActionPlans() (err error) { switch m.dataDBType { case utils.REDIS: + var v1aps *v1ActionPlans var apsv1keys []string apsv1keys, err = m.dataDB.GetKeysForPrefix(utils.ACTION_PLAN_PREFIX) if err != nil { return } for _, apsv1key := range apsv1keys { - v1aps, err := m.getV1ActionPlansFromDB(apsv1key) + v1aps, err = m.getV1ActionPlansFromDB(apsv1key) if err != nil { return err } - aps := v1aps.AsActionPlan() - if err = m.dataDB.SetActionPlan(aps.Id, aps, true, utils.NonTransactional); err != nil { - return err + if v1aps == nil { + log.Print("No Action Plans found key:", v1aps) + } else { + for _, v1ap := range *v1aps { + ap := v1ap.AsActionPlan() + if err = m.dataDB.SetActionPlan(ap.Id, ap, true, utils.NonTransactional); err != nil { + return err + } + } } } // All done, update version wtih current one @@ -108,15 +116,14 @@ func (m *Migrator) migrateActionPlans() (err error) { } } -func (m *Migrator) getV1ActionPlansFromDB(key string) (v1aps *v1ActionPlan, err error) { +func (m *Migrator) getV1ActionPlansFromDB(key string) (v1aps *v1ActionPlans, err error) { switch m.dataDBType { case utils.REDIS: dataDB := m.dataDB.(*engine.RedisStorage) if strVal, err := dataDB.Cmd("GET", key).Bytes(); err != nil { return nil, err } else { - v1aps := &v1ActionPlan{Id: key} - if err := m.mrshlr.Unmarshal(strVal, v1aps); err != nil { + if err := m.mrshlr.Unmarshal(strVal, &v1aps); err != nil { return nil, err } return v1aps, nil @@ -125,7 +132,7 @@ func (m *Migrator) getV1ActionPlansFromDB(key string) (v1aps *v1ActionPlan, err dataDB := m.dataDB.(*engine.MongoStorage) mgoDB := dataDB.DB() defer mgoDB.Session.Close() - v1aps := new(v1ActionPlan) + v1aps := new(v1ActionPlans) if err := mgoDB.C(utils.ACTION_PLAN_PREFIX).Find(bson.M{"id": key}).One(v1aps); err != nil { return nil, err } diff --git a/migrator/action_trigger.go b/migrator/action_trigger.go index a731189bc..c55dfdd6a 100644 --- a/migrator/action_trigger.go +++ b/migrator/action_trigger.go @@ -52,7 +52,7 @@ func (m *Migrator) migrateActionTriggers() (err error) { return err } if v1atrs == nil { - log.Print("No Actions found") + log.Print("No Action Triggers found key:", v1atrskey) } else { for _, v1atr := range *v1atrs { atr := v1atr.AsActionTrigger()