Opened 17 years ago

Last modified 16 years ago

#5578 closed

Can't import fixtures generated using mysql into postgresql — at Initial Version

Reported by: django@… Owned by: nobody
Component: Database layer (models, ORM) Version: dev
Severity: Keywords: postgresql mysql case sensitive sensitivity fixture load
Cc: mir@… Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Fixtures generated using an app running against mysql can't be imported by that same app if switched to run against postgresql. This appears to have to do with different handling of mixed case table/column names in django's drivers for the two databases.

Here's the error I get. The same error occurs regardless of fixture format. Note the case difference between spackle1_projecttemplate_subjectareas (from the exception) and spackle1_projecttemplate_subjectAreas (from the sql):

Loading 'spackle1/fixtures/spackle1' fixtures...
Installing xml fixture 'spackle1/fixtures/spackle1' from absolute path.
Traceback (most recent call last):

File "./manage.py", line 11, in <module>

execute_manager(settings)

File "/usr/lib/python2.5/site-packages/django/core/management/init.py", line 264, in execute_manager

utility.execute()

File "/usr/lib/python2.5/site-packages/django/core/management/init.py", line 215, in execute

self.fetch_command(subcommand).run_from_argv(self.argv)

File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 70, in run_from_argv

self.execute(*args, options.dict)

File "/usr/lib/python2.5/site-packages/django/core/management/base.py", line 84, in execute

output = self.handle(*args, options)

File "/usr/lib/python2.5/site-packages/django/core/management/commands/loaddata.py", line 119, in handle

cursor.execute(line)

File "/usr/lib/python2.5/site-packages/django/db/backends/util.py", line 19, in execute

return self.cursor.execute(sql, params)

File "/usr/lib/python2.5/site-packages/django/db/backends/postgresql/base.py", line 47, in execute

return self.cursor.execute(smart_str(sql, self.charset), self.format_params(params))

psycopg.ProgrammingError: ERROR: relation "spackle1_projecttemplate_subjectareas" does not exist

SELECT setval('"spackle1_projecttemplate_subjectAreas_id_seq"', coalesce(max("id"), 1), max("id") IS NOT null) FROM spackle1_projecttemplate_subjectAreas;

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top