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 9fcbc3a49b
commit 19d1ca3a1d

View File

@@ -67,10 +67,20 @@ class Command(ZulipBaseCommand):
paths.append(("settings", "/etc/zulip"))
if not options['skip_db']:
db_name = settings.DATABASES["default"]["NAME"]
db_dir = os.path.join(tmp, "zulip-backup", "database")
pg_dump_command = [
"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(
["pg_dump", "--format=directory", "--file", db_dir, "--", db_name],
pg_dump_command,
cwd=tmp,
)
members.append("zulip-backup/database")