1414SQL_BIGAUTOFIELD = - 777444
1515
1616def get_schema_name ():
17- return getattr (settings , 'SCHEMA_TO_INSPECT' , 'dbo ' )
17+ return getattr (settings , 'SCHEMA_TO_INSPECT' , 'SCHEMA_NAME() ' )
1818
1919class DatabaseIntrospection (BaseDatabaseIntrospection ):
2020 # Map type codes to Django Field types.
@@ -66,7 +66,7 @@ def get_table_list(self, cursor):
6666 """
6767 Returns a list of table and view names in the current database.
6868 """
69- sql = 'SELECT TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ' + "'" + get_schema_name () + "'"
69+ sql = f 'SELECT TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = { get_schema_name ()} '
7070 cursor .execute (sql )
7171 types = {'BASE TABLE' : 't' , 'VIEW' : 'v' }
7272 return [TableInfo (row [0 ], types .get (row [1 ]))
@@ -129,10 +129,10 @@ def get_table_description(self, cursor, table_name, identity_check=True):
129129 return items
130130
131131 def get_sequences (self , cursor , table_name , table_fields = ()):
132- cursor .execute ("""
132+ cursor .execute (f """
133133 SELECT c.name FROM sys.columns c
134134 INNER JOIN sys.tables t ON c.object_id = t.object_id
135- WHERE t.schema_id = SCHEMA_ID(""" + "'" + get_schema_name () + "'" + """ ) AND t.name = %s AND c.is_identity = 1""" ,
135+ WHERE t.schema_id = SCHEMA_ID({ get_schema_name ()} ) AND t.name = %s AND c.is_identity = 1""" ,
136136 [table_name ])
137137 # SQL Server allows only one identity column per table
138138 # https://docs.microsoft.com/en-us/sql/t-sql/statements/create-table-transact-sql-identity-property
@@ -148,7 +148,7 @@ def get_relations(self, cursor, table_name):
148148 # CONSTRAINT_TABLE_USAGE: http://msdn2.microsoft.com/en-us/library/ms179883.aspx
149149 # REFERENTIAL_CONSTRAINTS: http://msdn2.microsoft.com/en-us/library/ms179987.aspx
150150 # TABLE_CONSTRAINTS: http://msdn2.microsoft.com/en-us/library/ms181757.aspx
151- sql = """
151+ sql = f """
152152SELECT e.COLUMN_NAME AS column_name,
153153 c.TABLE_NAME AS referenced_table_name,
154154 d.COLUMN_NAME AS referenced_column_name
@@ -161,7 +161,7 @@ def get_relations(self, cursor, table_name):
161161 ON c.CONSTRAINT_NAME = d.CONSTRAINT_NAME AND c.CONSTRAINT_SCHEMA = d.CONSTRAINT_SCHEMA
162162INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS e
163163 ON a.CONSTRAINT_NAME = e.CONSTRAINT_NAME AND a.TABLE_SCHEMA = e.TABLE_SCHEMA
164- WHERE a.TABLE_SCHEMA = """ + "'" + get_schema_name () + "'" + """ AND a.TABLE_NAME = %s AND a.CONSTRAINT_TYPE = 'FOREIGN KEY'"""
164+ WHERE a.TABLE_SCHEMA = { get_schema_name ()} AND a.TABLE_NAME = %s AND a.CONSTRAINT_TYPE = 'FOREIGN KEY'"""
165165 cursor .execute (sql , (table_name ,))
166166 return dict ([[item [0 ], (item [2 ], item [1 ])] for item in cursor .fetchall ()])
167167
@@ -171,14 +171,14 @@ def get_key_columns(self, cursor, table_name):
171171 key columns in given table.
172172 """
173173 key_columns = []
174- cursor .execute ("""
174+ cursor .execute (f """
175175 SELECT c.name AS column_name, rt.name AS referenced_table_name, rc.name AS referenced_column_name
176176 FROM sys.foreign_key_columns fk
177177 INNER JOIN sys.tables t ON t.object_id = fk.parent_object_id
178178 INNER JOIN sys.columns c ON c.object_id = t.object_id AND c.column_id = fk.parent_column_id
179179 INNER JOIN sys.tables rt ON rt.object_id = fk.referenced_object_id
180180 INNER JOIN sys.columns rc ON rc.object_id = rt.object_id AND rc.column_id = fk.referenced_column_id
181- WHERE t.schema_id = SCHEMA_ID(""" + "'" + get_schema_name () + "'" + """ ) AND t.name = %s""" , [table_name ])
181+ WHERE t.schema_id = SCHEMA_ID({ get_schema_name ()} ) AND t.name = %s""" , [table_name ])
182182 key_columns .extend ([tuple (row ) for row in cursor .fetchall ()])
183183 return key_columns
184184
@@ -201,7 +201,7 @@ def get_constraints(self, cursor, table_name):
201201 constraints = {}
202202 # Loop over the key table, collecting things as constraints
203203 # This will get PKs, FKs, and uniques, but not CHECK
204- cursor .execute ("""
204+ cursor .execute (f """
205205 SELECT
206206 kc.constraint_name,
207207 kc.column_name,
@@ -241,9 +241,7 @@ def get_constraints(self, cursor, table_name):
241241 kc.table_name = fk.table_name AND
242242 kc.column_name = fk.column_name
243243 WHERE
244- kc.table_schema = """
245- + "'" + get_schema_name () + "'" +
246- """ AND
244+ kc.table_schema = { get_schema_name ()} AND
247245 kc.table_name = %s
248246 ORDER BY
249247 kc.constraint_name ASC,
@@ -263,7 +261,7 @@ def get_constraints(self, cursor, table_name):
263261 # Record the details
264262 constraints [constraint ]['columns' ].append (column )
265263 # Now get CHECK constraint columns
266- cursor .execute ("""
264+ cursor .execute (f """
267265 SELECT kc.constraint_name, kc.column_name
268266 FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS kc
269267 JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS c ON
@@ -272,7 +270,7 @@ def get_constraints(self, cursor, table_name):
272270 kc.constraint_name = c.constraint_name
273271 WHERE
274272 c.constraint_type = 'CHECK' AND
275- kc.table_schema = """ + "'" + get_schema_name () + "'" + """ AND
273+ kc.table_schema = { get_schema_name ()} AND
276274 kc.table_name = %s
277275 """ , [table_name ])
278276 for constraint , column in cursor .fetchall ():
@@ -289,7 +287,7 @@ def get_constraints(self, cursor, table_name):
289287 # Record the details
290288 constraints [constraint ]['columns' ].append (column )
291289 # Now get indexes
292- cursor .execute ("""
290+ cursor .execute (f """
293291 SELECT
294292 i.name AS index_name,
295293 i.is_unique,
@@ -311,7 +309,7 @@ def get_constraints(self, cursor, table_name):
311309 ic.object_id = c.object_id AND
312310 ic.column_id = c.column_id
313311 WHERE
314- t.schema_id = SCHEMA_ID(""" + "'" + get_schema_name () + "'" + """ ) AND
312+ t.schema_id = SCHEMA_ID({ get_schema_name ()} ) AND
315313 t.name = %s
316314 ORDER BY
317315 i.index_id ASC,
0 commit comments