backup: Use simpler api for server version.

This commit is contained in:
Alex Vandiver
2023-10-10 20:51:22 +00:00
committed by Tim Abbott
parent 5a9452f3e6
commit e84c289c0d

View File

@@ -2,12 +2,11 @@ import os
import re
import tempfile
from argparse import ArgumentParser, RawTextHelpFormatter
from typing import TYPE_CHECKING, Any
from typing import Any
from django.conf import settings
from django.core.management.base import CommandParser
from django.db import connection
from django.db.backends.postgresql.base import DatabaseWrapper
from django.utils.timezone import now as timezone_now
from scripts.lib.zulip_tools import TIMESTAMP_FORMAT, parse_os_release, run
@@ -52,13 +51,8 @@ class Command(ZulipBaseCommand):
members.append("zulip-backup/os-version")
with open(os.path.join(tmp, "zulip-backup", "postgres-version"), "w") as f:
# We are accessing a backend specific attribute via a proxy object, whose type
# cannot be narrowed with a regular isinstance assertion.
# This can be potentially fixed more cleanly with the recently added
# connection.get_database_version().
if TYPE_CHECKING:
assert isinstance(connection, DatabaseWrapper)
print(connection.pg_version, file=f)
pg_server_version = connection.cursor().connection.server_version
print(pg_server_version, file=f)
members.append("zulip-backup/postgres-version")
if settings.DEVELOPMENT: