mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Fixed #30934 -- Included database alias in django.db.backends log messages.
This is useful when working with database routing as you want to know where each query is being executed. Co-authored-by: David Winterbottom <david.winterbottom@gmail.com>
This commit is contained in:
@@ -3,6 +3,7 @@ import datetime
|
||||
import threading
|
||||
import unittest
|
||||
import warnings
|
||||
from unittest import mock
|
||||
|
||||
from django.core.management.color import no_style
|
||||
from django.db import (
|
||||
@@ -491,6 +492,23 @@ class BackendTestCase(TransactionTestCase):
|
||||
BaseDatabaseWrapper.queries_limit = old_queries_limit
|
||||
new_connection.close()
|
||||
|
||||
@mock.patch('django.db.backends.utils.logger')
|
||||
@override_settings(DEBUG=True)
|
||||
def test_queries_logger(self, mocked_logger):
|
||||
sql = 'SELECT 1' + connection.features.bare_select_suffix
|
||||
with connection.cursor() as cursor:
|
||||
cursor.execute(sql)
|
||||
params, kwargs = mocked_logger.debug.call_args
|
||||
self.assertIn('; alias=%s', params[0])
|
||||
self.assertEqual(params[2], sql)
|
||||
self.assertEqual(params[3], None)
|
||||
self.assertEqual(params[4], connection.alias)
|
||||
self.assertEqual(
|
||||
list(kwargs['extra']),
|
||||
['duration', 'sql', 'params', 'alias'],
|
||||
)
|
||||
self.assertEqual(tuple(kwargs['extra'].values()), params[1:])
|
||||
|
||||
def test_timezone_none_use_tz_false(self):
|
||||
connection.ensure_connection()
|
||||
with self.settings(TIME_ZONE=None, USE_TZ=False):
|
||||
|
||||
Reference in New Issue
Block a user