Fix DB scripts

This commit is contained in:
Erik Johnston 2019-12-05 11:20:49 +00:00
parent 6dcd6c40a0
commit 8b77fc6506
2 changed files with 16 additions and 15 deletions

View file

@ -58,10 +58,10 @@ if __name__ == "__main__":
" on it." " on it."
) )
) )
parser.add_argument("-v", action='store_true') parser.add_argument("-v", action="store_true")
parser.add_argument( parser.add_argument(
"--database-config", "--database-config",
type=argparse.FileType('r'), type=argparse.FileType("r"),
required=True, required=True,
help="A database config file for either a SQLite3 database or a PostgreSQL one.", help="A database config file for either a SQLite3 database or a PostgreSQL one.",
) )
@ -101,10 +101,7 @@ if __name__ == "__main__":
# Instantiate and initialise the homeserver object. # Instantiate and initialise the homeserver object.
hs = MockHomeserver( hs = MockHomeserver(
config, config, database_engine, db_conn, db_config=config.database_config,
database_engine,
db_conn,
db_config=config.database_config,
) )
# setup instantiates the store within the homeserver object. # setup instantiates the store within the homeserver object.
hs.setup() hs.setup()
@ -112,13 +109,13 @@ if __name__ == "__main__":
@defer.inlineCallbacks @defer.inlineCallbacks
def run_background_updates(): def run_background_updates():
yield store.run_background_updates(sleep=False) yield store.db.updates.run_background_updates(sleep=False)
# Stop the reactor to exit the script once every background update is run. # Stop the reactor to exit the script once every background update is run.
reactor.stop() reactor.stop()
# Apply all background updates on the database. # Apply all background updates on the database.
reactor.callWhenRunning(lambda: run_as_background_process( reactor.callWhenRunning(
"background_updates", run_background_updates lambda: run_as_background_process("background_updates", run_background_updates)
)) )
reactor.run() reactor.run()

View file

@ -365,7 +365,9 @@ class Porter(object):
return headers, forward_rows, backward_rows return headers, forward_rows, backward_rows
headers, frows, brows = yield self.sqlite_store.db.runInteraction("select", r) headers, frows, brows = yield self.sqlite_store.db.runInteraction(
"select", r
)
if frows or brows: if frows or brows:
if frows: if frows:
@ -521,7 +523,9 @@ class Porter(object):
@defer.inlineCallbacks @defer.inlineCallbacks
def run_background_updates_on_postgres(self): def run_background_updates_on_postgres(self):
# Manually apply all background updates on the PostgreSQL database. # Manually apply all background updates on the PostgreSQL database.
postgres_ready = yield self.postgres_store.has_completed_background_updates() postgres_ready = (
yield self.postgres_store.db.updates.has_completed_background_updates()
)
if not postgres_ready: if not postgres_ready:
# Only say that we're running background updates when there are background # Only say that we're running background updates when there are background
@ -529,9 +533,9 @@ class Porter(object):
self.progress.set_state("Running background updates on PostgreSQL") self.progress.set_state("Running background updates on PostgreSQL")
while not postgres_ready: while not postgres_ready:
yield self.postgres_store.do_next_background_update(100) yield self.postgres_store.db.updates.do_next_background_update(100)
postgres_ready = yield ( postgres_ready = yield (
self.postgres_store.has_completed_background_updates() self.postgres_store.db.updates.has_completed_background_updates()
) )
@defer.inlineCallbacks @defer.inlineCallbacks
@ -541,7 +545,7 @@ class Porter(object):
# Check if all background updates are done, abort if not. # Check if all background updates are done, abort if not.
updates_complete = ( updates_complete = (
yield self.sqlite_store.has_completed_background_updates() yield self.sqlite_store.db.updates.has_completed_background_updates()
) )
if not updates_complete: if not updates_complete:
sys.stderr.write( sys.stderr.write(