diff --git a/syncapi/storage/postgres/syncserver.go b/syncapi/storage/postgres/syncserver.go index 7289396dc..6f925a512 100644 --- a/syncapi/storage/postgres/syncserver.go +++ b/syncapi/storage/postgres/syncserver.go @@ -46,11 +46,10 @@ func NewDatabase(base *base.BaseDendrite, dbProperties *config.DatabaseOptions) if _, err = d.db.Exec(outputRoomEventsSchema); err != nil { logrus.Fatalf("unable to create table: %s", err) } - accountData, err := NewPostgresAccountDataTable(d.db) - if err != nil { - return nil, err + if _, err = d.db.Exec(currentRoomStateSchema); err != nil { + logrus.Fatalf("unable to create table: %s", err) } - currState, err := NewPostgresCurrentRoomStateTable(d.db) + accountData, err := NewPostgresAccountDataTable(d.db) if err != nil { return nil, err } @@ -105,10 +104,15 @@ func NewDatabase(base *base.BaseDendrite, dbProperties *config.DatabaseOptions) if err = m.RunDeltas(d.db, dbProperties); err != nil { return nil, err } + // prepare statements after the migrations have run events, err := NewPostgresEventsTable(d.db) if err != nil { return nil, err } + currState, err := NewPostgresCurrentRoomStateTable(d.db) + if err != nil { + return nil, err + } d.Database = shared.Database{ DB: d.db, Writer: d.writer, diff --git a/syncapi/storage/sqlite3/syncserver.go b/syncapi/storage/sqlite3/syncserver.go index 69fa4ef74..cc6bbf815 100644 --- a/syncapi/storage/sqlite3/syncserver.go +++ b/syncapi/storage/sqlite3/syncserver.go @@ -56,11 +56,10 @@ func (d *SyncServerDatasource) prepare(dbProperties *config.DatabaseOptions) (er if _, err = d.db.Exec(outputRoomEventsSchema); err != nil { logrus.Fatalf("unable to create table: %s", err) } - accountData, err := NewSqliteAccountDataTable(d.db, &d.streamID) - if err != nil { - return err + if _, err = d.db.Exec(currentRoomStateSchema); err != nil { + logrus.Fatalf("unable to create table: %s", err) } - roomState, err := NewSqliteCurrentRoomStateTable(d.db, &d.streamID) + accountData, err := NewSqliteAccountDataTable(d.db, &d.streamID) if err != nil { return err } @@ -115,10 +114,15 @@ func (d *SyncServerDatasource) prepare(dbProperties *config.DatabaseOptions) (er if err = m.RunDeltas(d.db, dbProperties); err != nil { return err } + // prepare statements after the migrations have run events, err := NewSqliteEventsTable(d.db, &d.streamID) if err != nil { return err } + roomState, err := NewSqliteCurrentRoomStateTable(d.db, &d.streamID) + if err != nil { + return err + } d.Database = shared.Database{ DB: d.db, Writer: d.writer,