mirror of
https://github.com/django/django.git
synced 2025-11-07 07:15:35 +00:00
Refs #27098 -- Removed DatabaseIntrospection.get_indexes() per deprecation timeline.
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
import re
|
||||
import warnings
|
||||
|
||||
from django.db.backends.base.introspection import (
|
||||
BaseDatabaseIntrospection, FieldInfo, TableInfo,
|
||||
)
|
||||
from django.db.models.indexes import Index
|
||||
from django.utils.deprecation import RemovedInDjango21Warning
|
||||
|
||||
field_size_re = re.compile(r'^\s*(?:var)?char\s*\(\s*(\d+)\s*\)\s*$')
|
||||
|
||||
@@ -188,29 +186,6 @@ class DatabaseIntrospection(BaseDatabaseIntrospection):
|
||||
|
||||
return key_columns
|
||||
|
||||
def get_indexes(self, cursor, table_name):
|
||||
warnings.warn(
|
||||
"get_indexes() is deprecated in favor of get_constraints().",
|
||||
RemovedInDjango21Warning, stacklevel=2
|
||||
)
|
||||
indexes = {}
|
||||
for info in self._table_info(cursor, table_name):
|
||||
if info['pk'] != 0:
|
||||
indexes[info['name']] = {'primary_key': True,
|
||||
'unique': False}
|
||||
cursor.execute('PRAGMA index_list(%s)' % self.connection.ops.quote_name(table_name))
|
||||
# seq, name, unique
|
||||
for index, unique in [(field[1], field[2]) for field in cursor.fetchall()]:
|
||||
cursor.execute('PRAGMA index_info(%s)' % self.connection.ops.quote_name(index))
|
||||
info = cursor.fetchall()
|
||||
# Skip indexes across multiple fields
|
||||
if len(info) != 1:
|
||||
continue
|
||||
name = info[0][2] # seqno, cid, name
|
||||
indexes[name] = {'primary_key': indexes.get(name, {}).get("primary_key", False),
|
||||
'unique': unique}
|
||||
return indexes
|
||||
|
||||
def get_primary_key_column(self, cursor, table_name):
|
||||
"""Return the column name of the primary key for the given table."""
|
||||
# Don't use PRAGMA because that causes issues with some transactions
|
||||
|
||||
Reference in New Issue
Block a user