- Timestamp:
- 08/02/07 16:17:23 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/schema-evolution/django/db/backends/sqlite3/introspection.py
r5785 r5787 27 27 """ 28 28 indexes = {} 29 for info in _table_info(cursor, table_name):30 indexes[info['name']] = {'primary_key': info['pk'] != 0,31 'unique': False}32 29 cursor.execute('PRAGMA index_list(%s)' % quote_name(table_name)) 33 30 # seq, name, unique … … 37 34 cursor.execute('PRAGMA index_info(%s)' % quote_name(index)) 38 35 info = cursor.fetchall() 39 # Skip indexes across multiple fields 40 if len(info) != 1: 41 continue 42 name = info[0][2] # seqno, cid, name 43 indexes[name]['unique'] = True 36 for x in info: 37 name = x[2] # seqno, cid, name 38 cursor.execute('PRAGMA table_info(%s)' % quote_name(table_name)) 39 for row in cursor.fetchall(): 40 if row[1]==name: 41 indexes[name] = {'primary_key': False, 'unique': False} 42 if row[2]=='integer': 43 indexes[name]['primary_key'] = True 44 else: 45 indexes[name]['unique'] = True 44 46 return indexes 45 47
