twitch-bot/internal/v2migrator/modQuoteDB.go

36 lines
716 B
Go

package v2migrator
import (
"time"
"github.com/pkg/errors"
"github.com/Luzifer/twitch-bot/pkg/database"
)
type (
storageModQuoteDB struct {
ChannelQuotes map[string][]string `json:"channel_quotes"`
}
)
func (s storageModQuoteDB) migrate(db database.Connector) (err error) {
for channel, quotes := range s.ChannelQuotes {
t := time.Now()
for _, quote := range quotes {
if _, err = db.DB().Exec(
`INSERT INTO quotedb
(channel, created_at, quote)
VALUES ($1, $2, $3);`,
channel, t.UnixNano(), quote,
); err != nil {
return errors.Wrap(err, "adding quote for channel")
}
t = t.Add(time.Nanosecond) // Increase by one ns to adhere to unique index
}
}
return nil
}