From 3a9642386cdff8293657c8409da4bffd674184bf Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Thu, 26 Mar 2020 23:36:34 +0200 Subject: [PATCH] Fix state store migration --- .../upgrades/2019-08-25-move-state-store-to-db.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/database/upgrades/2019-08-25-move-state-store-to-db.go b/database/upgrades/2019-08-25-move-state-store-to-db.go index c9b70b1..608ad81 100644 --- a/database/upgrades/2019-08-25-move-state-store-to-db.go +++ b/database/upgrades/2019-08-25-move-state-store-to-db.go @@ -9,7 +9,6 @@ import ( "strings" "maunium.net/go/mautrix" - "maunium.net/go/mautrix-appservice" ) func init() { @@ -47,7 +46,7 @@ func init() { return executeBatch(tx, valueStrings, values...) } - migrateMemberships := func(tx *sql.Tx, rooms map[string]map[string]mautrix.Member) error { + migrateMemberships := func(tx *sql.Tx, rooms map[string]map[string]mautrix.Membership) error { for roomID, members := range rooms { if len(members) == 0 { continue @@ -106,13 +105,18 @@ func init() { user_id VARCHAR(255) PRIMARY KEY )` - upgrades[9] = upgrade{"Move state store to main DB", func(tx *sql.Tx, ctx context) error { - store := appservice.NewBasicStateStore().(*appservice.BasicStateStore) + type TempStateStore struct { + Registrations map[string]bool `json:"registrations"` + Members map[string]map[string]mautrix.Membership `json:"memberships"` + PowerLevels map[string]*mautrix.PowerLevels `json:"power_levels"` + } + upgrades[9] = upgrade{"Move state store to main DB", func(tx *sql.Tx, ctx context) error { if ctx.dialect == Postgres { roomStateTable = strings.Replace(roomStateTable, "TEXT", "JSONB", 1) } + var store TempStateStore if _, err := tx.Exec(userProfileTable); err != nil { return err } else if _, err = tx.Exec(roomStateTable); err != nil {