Add way to migrate database

This commit is contained in:
Tulir Asokan
2019-08-25 19:26:04 +03:00
parent 3be9aa2319
commit 0f36ee0168
3 changed files with 160 additions and 7 deletions

View File

@ -86,17 +86,16 @@ func init() {
roomStateTable = strings.Replace(roomStateTable, "TEXT", "JSONB", 1)
}
if data, err := ioutil.ReadFile("mx-state.json"); err != nil {
ctx.log.Debugln("mx-state.json not found, not migrating state store")
return nil
} else if err = json.Unmarshal(data, &store); err != nil {
return err
} else if _, err := tx.Exec(userProfileTable); err != nil {
if _, err := tx.Exec(userProfileTable); err != nil {
return err
} else if _, err = tx.Exec(roomStateTable); err != nil {
return err
} else if _, err = tx.Exec(registrationsTable); err != nil {
return err
} else if data, err := ioutil.ReadFile("mx-state.json"); err != nil {
ctx.log.Debugln("mx-state.json not found, not migrating state store")
} else if err = json.Unmarshal(data, &store); err != nil {
return err
} else if err = migrateRegistrations(tx, store.Registrations); err != nil {
return err
} else if err = migrateMemberships(tx, store.Memberships); err != nil {