diff options
author | Mark Haines <mark.haines@matrix.org> | 2015-01-19 15:26:19 +0000 |
---|---|---|
committer | Mark Haines <mark.haines@matrix.org> | 2015-01-19 15:26:19 +0000 |
commit | 3e85e52b3f0e9330f29ec3d0f572db7b122c88b0 (patch) | |
tree | c76b1a2c0ba99637188186f92972e7e4dbcd013d /synapse | |
parent | Finish renaming "context" to "room_id" in federation codebase (diff) | |
download | synapse-3e85e52b3f0e9330f29ec3d0f572db7b122c88b0.tar.xz |
Allow ':memory:' as the database path for sqlite3
Diffstat (limited to '')
-rwxr-xr-x | synapse/app/homeserver.py | 8 | ||||
-rw-r--r-- | synapse/config/database.py | 5 |
2 files changed, 11 insertions, 2 deletions
diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py index 43b5c26144..61ad53fbb2 100755 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py @@ -247,7 +247,13 @@ def setup(): logger.info("Database prepared in %s.", db_name) - hs.get_db_pool() + db_pool = hs.get_db_pool() + + if db_name == ":memory:" + # Memory databases will need to be setup each time they are opened. + reactor.callWhenRunning( + hs.get_db_pool().runWithConnection, prepare_database + ) if config.manhole: f = twisted.manhole.telnet.ShellFactory() diff --git a/synapse/config/database.py b/synapse/config/database.py index 0d33583a7d..daa161c952 100644 --- a/synapse/config/database.py +++ b/synapse/config/database.py @@ -20,7 +20,10 @@ import os class DatabaseConfig(Config): def __init__(self, args): super(DatabaseConfig, self).__init__(args) - self.database_path = self.abspath(args.database_path) + if args.database_path == ":memory:": + self.database_path = ":memory:" + else: + self.database_path = self.abspath(args.database_path) @classmethod def add_arguments(cls, parser): |