Skip to content

Commit

Permalink
fix(cli): add func to up from 2.7 to 2.8 (#850)
Browse files Browse the repository at this point in the history
  • Loading branch information
kissken committed Jun 20, 2023
1 parent 332af2c commit d6d4644
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 2 deletions.
86 changes: 86 additions & 0 deletions cmd/cli/from_2.7_to_2.8.go
@@ -0,0 +1,86 @@
package main

import "github.com/moira-alert/moira"

func updateFrom27(logger moira.Logger, dataBase moira.Database) error {
logger.Info().Msg("Update 2.7 -> 2.8 was started")

logger.Info().Msg("Rename keys was started")
if err := updateSubscriptionKeyForAnonymous(logger, dataBase); err != nil {
return err
}

if err := updateContactKeyForAnonymous(logger, dataBase); err != nil {
return err
}

logger.Info().Msg("Update 2.7 -> 2.8 was finished")
return nil
}

func downgradeTo27(logger moira.Logger, dataBase moira.Database) error {
logger.Info().Msg("Downgrade 2.8 -> 2.7 started")

logger.Info().Msg("Rename keys was started")
if err := downgradeSubscriptionKeyForAnonymous(logger, dataBase); err != nil {
return err
}

if err := downgradeContactKeyForAnonymous(logger, dataBase); err != nil {
return err
}

logger.Info().Msg("Downgrade 2.8 -> 2.7 was finished")
return nil
}

var (
subscriptionKeyForAnonymousOld = "moira-user-subscriptions:"
subscriptionKeyForAnonymousNew = "moira-user-subscriptions:anonymous"
contactKeyForAnonymousOld = "moira-user-contacts:"
contactKeyForAnonymousNew = "moira-user-contacts:anonymous"
)

func updateSubscriptionKeyForAnonymous(logger moira.Logger, database moira.Database) error {
err := changeKeysPrefix(database, subscriptionKeyForAnonymousOld, subscriptionKeyForAnonymousNew)
if err != nil {
return err
}

logger.Info().Msg("updateSubscriptionKeyForAnonymous done")

return nil
}

func updateContactKeyForAnonymous(logger moira.Logger, database moira.Database) error {
err := changeKeysPrefix(database, contactKeyForAnonymousOld, contactKeyForAnonymousNew)
if err != nil {
return err
}

logger.Info().Msg("updateContactKeyForAnonymous done")

return nil
}

func downgradeSubscriptionKeyForAnonymous(logger moira.Logger, database moira.Database) error {
err := changeKeysPrefix(database, subscriptionKeyForAnonymousNew, subscriptionKeyForAnonymousOld)
if err != nil {
return err
}

logger.Info().Msg("downgradeSubscriptionKeyForAnonymous done")

return nil
}

func downgradeContactKeyForAnonymous(logger moira.Logger, database moira.Database) error {
err := changeKeysPrefix(database, contactKeyForAnonymousNew, contactKeyForAnonymousOld)
if err != nil {
return err
}

logger.Info().Msg("downgradeContactKeyForAnonymous done")

return nil
}
14 changes: 14 additions & 0 deletions cmd/cli/main.go
Expand Up @@ -91,6 +91,13 @@ func main() { //nolint
Error(err).
Msg("Fail to update from version 2.6")
}
case "2.7":
err := updateFrom27(logger, dataBase)
if err != nil {
logger.Fatal().
Error(err).
Msg("Fail to update from version 2.7")
}
}
}

Expand All @@ -111,6 +118,13 @@ func main() { //nolint
Error(err).
Msg("Fail to update to version 2.6")
}
case "2.7":
err := downgradeTo27(logger, dataBase)
if err != nil {
logger.Fatal().
Error(err).
Msg("Fail to update to version 2.7")
}
}
}

Expand Down
4 changes: 2 additions & 2 deletions database/redis/contact.go
Expand Up @@ -198,6 +198,6 @@ func userContactsKey(userName string) string {
return "moira-user-contacts:" + userName
}

func teamContactsKey(userName string) string {
return "moira-team-contacts:" + userName
func teamContactsKey(teamName string) string {
return "moira-team-contacts:" + teamName
}

0 comments on commit d6d4644

Please sign in to comment.