Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#2729 closed defect (fixed)

[patch] sqlinitialdata files with dos line endings error out on Gnu/Linux

Reported by: Joeboy Owned by: Adrian Holovaty
Component: Database layer (models, ORM) Version: master
Severity: normal Keywords: sqlinitialdata dos windows
Cc: django25@…, dev@… Triage Stage: Unreviewed
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

On my Gnu/Linux box, trying to use sqlinitialdata files provided by my windows-using colleagues, I get:

joe@edward ~/reportlab/libs/rltravelprod/djtravel $ ./manage.py reset holidays

You have requested a database reset.
This will IRREVERSIBLY DESTROY any data in your database.
Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel: yes
Error: holidays couldn't be installed. Possible reasons:
  * The database isn't running or isn't configured correctly.
  * At least one of the database tables already exists.
  * The SQL was invalid.
Hint: Look at the output of 'django-admin.py sqlreset holidays'. That's the SQL this command wasn't able to run.
The full error: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL
server version for the right syntax to use near ';\r\nINSERT INTO `holidays_resort` (id, name, region_id) VALUES
(2,'Cavtat',1);\r\nI' at line 1")

Converting to unix line endings fixes it.

Attachments (2)

resort.sql (155 bytes) - added by Joeboy 10 years ago.
sample erroring dos file
2729.diff (556 bytes) - added by dev@… 10 years ago.

Download all attachments as: .zip

Change History (5)

Changed 10 years ago by Joeboy

Attachment: resort.sql added

sample erroring dos file

comment:1 Changed 10 years ago by anonymous

Cc: django25@… added

comment:2 Changed 10 years ago by dev@…

Cc: dev@… added
Summary: sqlinitialdata files with dos line endings error out on Gnu/Linux[patch] sqlinitialdata files with dos line endings error out on Gnu/Linux

Hmm... using python's "U" mode when reading the file in should fix this by standardising line breaks. I've had a go at this (patch attached), but given that I'm on OSX, I'm not sure that I'm replicating the problem exactly.

Changed 10 years ago by dev@…

Attachment: 2729.diff added

comment:3 Changed 10 years ago by Malcolm Tredinnick

Resolution: fixed
Status: newclosed

(In [3821]) Fixed #2729 -- Handle initial SQL with different line-ending styles (Windows
vs. Unix vs. Mac). Thanks, Simon Greenhill.

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