Modify ↓
Ticket #219 (closed defect: fixed)
Problem renaming fields with sqlite.
| Reported by: | mwrshl@… | Owned by: | andrew |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.6 |
| Component: | databaseapi | Version: | 0.6-pre |
| Keywords: | Cc: |
Description
Using 46e95399bdca, I get this exception when renaming fields:
File "/home/mmarshall/pythonpath/south/db/sqlite3.py", line 76, in copy_data
q_fields[q_fields.index(value)] = "%s AS %s" % (qn(key), qn(value))
ValueError: list.index(x): x not in list
The problem is that names in q_fields are quoted quoted, while 'value' isn't. A simply change fixes this:
--- a/south/db/sqlite3.py Mon Jul 27 14:38:41 2009 +0100
+++ b/south/db/sqlite3.py Tue Jul 28 14:59:55 2009 -0500
@@ -72,6 +72,6 @@
qn = connection.ops.quote_name
q_fields = [qn(field) for field in fields]
for key, value in field_renames.items():
- q_fields[q_fields.index(value)] = "%s AS %s" % (qn(key), qn(value))
+ q_fields[q_fields.index(qn(value))] = "%s AS %s" % (qn(key), qn(value))
sql = "INSERT INTO %s SELECT %s FROM %s;" % (qn(dst), ', '.join(q_fields), qn(src))
self.execute(sql)
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

Fixed in [8e3ad05f8009].