mirror of
https://github.com/muety/wakapi.git
synced 2025-12-06 06:22:41 -08:00
fix: make db migration script account for unhashed heartbeats [skip ci]
This commit is contained in:
@@ -335,6 +335,7 @@ func main() {
|
||||
for _, user := range users {
|
||||
if data, err := heartbeatSource.StreamWithinBatched(time.Time{}, time.Now(), user, InsertBatchSize); err == nil {
|
||||
for heartbeats := range data {
|
||||
fixHeartbeatsBatched(heartbeats)
|
||||
if err := heartbeatTarget.InsertBatch(heartbeats); err != nil {
|
||||
log.Printf("warning: failed to insert batch of heartbeats for user (%s)\n", user.ID, err)
|
||||
continue
|
||||
@@ -433,6 +434,16 @@ func createSchema() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func fixHeartbeatsBatched(heartbeats []*models.Heartbeat) {
|
||||
// normally, there shouldn't be any heartbeats without a hash,
|
||||
// however, we observed this case in production, so make sure to fix them to prevent data loss
|
||||
for _, h := range heartbeats {
|
||||
if h.Hash == "" {
|
||||
h.Hashed()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func mustConfigPath() string {
|
||||
if _, err := os.Stat(*cFlag); err != nil {
|
||||
log.Fatalln("failed to find config file at", *cFlag)
|
||||
|
||||
Reference in New Issue
Block a user