summary refs log tree commit diff
path: root/synapse/_scripts
diff options
context:
space:
mode:
authorDavid Robertson <davidr@element.io>2022-09-20 14:14:12 +0100
committerGitHub <noreply@github.com>2022-09-20 14:14:12 +0100
commitfff9b955fa39bda2cca1fa726b561c7886e746a1 (patch)
treed1a7280937d3254d0d6d907b033b13579a9428a9 /synapse/_scripts
parentPort the push rule classes to Rust. (#13768) (diff)
downloadsynapse-fff9b955fa39bda2cca1fa726b561c7886e746a1.tar.xz
Generate separate snapshots for logical databases (#13792)
* Generate separate snapshots for sqlite, postgres and common
* Cleanup postgres dbs in the TRAP
* Say which logical DB we're applying updates to
* Run background updates on the state DB
* Add new option for accepting a SCHEMA_NUMBER
Diffstat (limited to 'synapse/_scripts')
-rwxr-xr-xsynapse/_scripts/update_synapse_database.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/synapse/_scripts/update_synapse_database.py b/synapse/_scripts/update_synapse_database.py
index b4aeae6dd5..fb1fb83f50 100755
--- a/synapse/_scripts/update_synapse_database.py
+++ b/synapse/_scripts/update_synapse_database.py
@@ -48,10 +48,13 @@ class MockHomeserver(HomeServer):
 
 
 def run_background_updates(hs: HomeServer) -> None:
-    store = hs.get_datastores().main
+    main = hs.get_datastores().main
+    state = hs.get_datastores().state
 
     async def run_background_updates() -> None:
-        await store.db_pool.updates.run_background_updates(sleep=False)
+        await main.db_pool.updates.run_background_updates(sleep=False)
+        if state:
+            await state.db_pool.updates.run_background_updates(sleep=False)
         # Stop the reactor to exit the script once every background update is run.
         reactor.stop()
 
@@ -97,8 +100,11 @@ def main() -> None:
     # Load, process and sanity-check the config.
     hs_config = yaml.safe_load(args.database_config)
 
-    if "database" not in hs_config:
-        sys.stderr.write("The configuration file must have a 'database' section.\n")
+    if "database" not in hs_config and "databases" not in hs_config:
+        sys.stderr.write(
+            "The configuration file must have a 'database' or 'databases' section. "
+            "See https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#database"
+        )
         sys.exit(4)
 
     config = HomeServerConfig()