mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Updated Stats migration
This commit is contained in:
committed by
Dan Christian Bogos
parent
3d44277a20
commit
b8ba03bd57
@@ -120,42 +120,36 @@ func (m *Migrator) migrateCurrentStats() (err error) {
|
||||
|
||||
func (m *Migrator) migrateV1CDRSTATS() (err error) {
|
||||
var v1Sts *v1Stat
|
||||
for {
|
||||
v1Sts, err = m.dmIN.getV1Stats()
|
||||
if err != nil && err != utils.ErrNoMoreData {
|
||||
return err
|
||||
}
|
||||
if err == utils.ErrNoMoreData {
|
||||
break
|
||||
}
|
||||
if v1Sts.Id != "" {
|
||||
if len(v1Sts.Triggers) != 0 {
|
||||
for _, Trigger := range v1Sts.Triggers {
|
||||
if err := m.SasThreshold(Trigger); err != nil {
|
||||
return err
|
||||
//for {
|
||||
v1Sts, err = m.dmIN.getV1Stats()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if v1Sts.Id != "" {
|
||||
if len(v1Sts.Triggers) != 0 {
|
||||
for _, Trigger := range v1Sts.Triggers {
|
||||
if err := m.SasThreshold(Trigger); err != nil {
|
||||
return err
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
filter, sq, sts, err := v1Sts.AsStatQP()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if m.dryRun {
|
||||
continue
|
||||
}
|
||||
if err := m.dmOut.DataManager().SetFilter(filter); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := m.dmOut.DataManager().SetStatQueue(remakeQueue(sq)); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := m.dmOut.DataManager().SetStatQueueProfile(sts, true); err != nil {
|
||||
return err
|
||||
}
|
||||
m.stats[utils.StatS] += 1
|
||||
}
|
||||
filter, sq, sts, err := v1Sts.AsStatQP()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := m.dmOut.DataManager().SetFilter(filter); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := m.dmOut.DataManager().SetStatQueue(remakeQueue(sq)); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := m.dmOut.DataManager().SetStatQueueProfile(sts, true); err != nil {
|
||||
return err
|
||||
}
|
||||
m.stats[utils.StatS] += 1
|
||||
}
|
||||
//}
|
||||
if m.dryRun {
|
||||
return
|
||||
}
|
||||
@@ -244,21 +238,42 @@ func (m *Migrator) migrateStats() (err error) {
|
||||
utils.UndefinedVersion,
|
||||
"version number is not defined for ActionTriggers model")
|
||||
}
|
||||
switch vrs[utils.StatS] {
|
||||
case 1:
|
||||
if err = m.migrateV1CDRSTATS(); err != nil {
|
||||
return err
|
||||
migrated := true
|
||||
for {
|
||||
version := vrs[utils.StatS]
|
||||
for {
|
||||
switch version {
|
||||
case current[utils.StatS]:
|
||||
if m.sameDataDB {
|
||||
migrated = false
|
||||
break
|
||||
}
|
||||
if err = m.migrateCurrentStats(); err != nil {
|
||||
return err
|
||||
}
|
||||
version = 3
|
||||
migrated = false
|
||||
case 1:
|
||||
if err = m.migrateV1CDRSTATS(); err != nil {
|
||||
return err
|
||||
} else if err == utils.ErrNoMoreData {
|
||||
break
|
||||
}
|
||||
version = 2
|
||||
case 2:
|
||||
if err = m.migrateV2Stats(); err != nil {
|
||||
return err
|
||||
} else if err == utils.ErrNoMoreData {
|
||||
break
|
||||
}
|
||||
version = 3
|
||||
}
|
||||
if version == current[utils.StatS] || !migrated {
|
||||
break
|
||||
}
|
||||
}
|
||||
case 2:
|
||||
if err = m.migrateV2Stats(); err != nil {
|
||||
return err
|
||||
}
|
||||
case current[utils.StatS]:
|
||||
if m.sameDataDB {
|
||||
break
|
||||
}
|
||||
if err = m.migrateCurrentStats(); err != nil {
|
||||
return err
|
||||
if !m.dryRun && migrated {
|
||||
// Set into db
|
||||
}
|
||||
}
|
||||
return m.ensureIndexesDataDB(engine.ColSqs)
|
||||
|
||||
Reference in New Issue
Block a user