Fixed #30786 -- Used CONVERT_TZ to check if the time zone definitions are installed on MySQL.
Replaced a timezone check in the MySQL backend with one that doesn't require access to the mysql.time_zone database.
This commit is contained in:
parent
bae05bcf68
commit
3346b78a8a
|
@ -69,10 +69,11 @@ class DatabaseFeatures(BaseDatabaseFeatures):
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def has_zoneinfo_database(self):
|
def has_zoneinfo_database(self):
|
||||||
# Test if the time zone definitions are installed.
|
# Test if the time zone definitions are installed. CONVERT_TZ returns
|
||||||
|
# NULL if 'UTC' timezone isn't loaded into the mysql.time_zone.
|
||||||
with self.connection.cursor() as cursor:
|
with self.connection.cursor() as cursor:
|
||||||
cursor.execute("SELECT 1 FROM mysql.time_zone LIMIT 1")
|
cursor.execute("SELECT CONVERT_TZ('2001-01-01 01:00:00', 'UTC', 'UTC')")
|
||||||
return cursor.fetchone() is not None
|
return cursor.fetchone()[0] is not None
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def is_sql_auto_is_null_enabled(self):
|
def is_sql_auto_is_null_enabled(self):
|
||||||
|
|
Loading…
Reference in New Issue