management: Make backup command work when DB is not in localhost.

This is useful preparatory work for supporting the backup management
command inside docker-zulip.
This commit is contained in:
Vishnu KS
2020-02-03 14:01:12 +05:30
committed by Tim Abbott
parent 7814f52d45
commit 0d4bf86130

View File

@@ -67,10 +67,20 @@ class Command(ZulipBaseCommand):
paths.append(("settings", "/etc/zulip")) paths.append(("settings", "/etc/zulip"))
if not options['skip_db']: if not options['skip_db']:
db_name = settings.DATABASES["default"]["NAME"] pg_dump_command = [
db_dir = os.path.join(tmp, "zulip-backup", "database") "pg_dump",
"--format=directory",
"--file", os.path.join(tmp, "zulip-backup", "database"),
"--host", settings.DATABASES["default"]["HOST"],
"--port", settings.DATABASES["default"]["PORT"],
"--username", settings.DATABASES["default"]["USER"],
"--dbname", settings.DATABASES["default"]["NAME"],
"--no-password",
]
os.environ["PGPASSWORD"] = settings.DATABASES["default"]["PASSWORD"]
run( run(
["pg_dump", "--format=directory", "--file", db_dir, "--", db_name], pg_dump_command,
cwd=tmp, cwd=tmp,
) )
members.append("zulip-backup/database") members.append("zulip-backup/database")