Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#8200 closed (worksforme) syncdb fails following The flatpages app docs — at Version 4

Reported by: creecode Owned by: nobody
Component: Uncategorized Version: master
Severity: Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Malcolm Tredinnick)

I was following along with the The flatpages app docs ( ) and when I got to the syncdb step I got the following error.

# syncdb
Creating table django_flatpage
Traceback (most recent call last):
  File "[stuff deleted]/", line 11, in <module>
  File "/usr/lib/python2.5/site-packages/django/core/management/", line 272, in execute_manager
  File "/usr/lib/python2.5/site-packages/django/core/management/", line 219, in execute
  File "/usr/lib/python2.5/site-packages/django/core/management/", line 72, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/lib/python2.5/site-packages/django/core/management/", line 86, in execute
    output = self.handle(*args, **options)
  File "/usr/lib/python2.5/site-packages/django/core/management/", line 168, in handle
    return self.handle_noargs(**options)
  File "/usr/lib/python2.5/site-packages/django/core/management/commands/", line 91, in handle_noargs
  File "/usr/lib/python2.5/site-packages/MySQLdb/", line 166, in execute
    self.errorhandler(self, exc, value)
  File "/usr/lib/python2.5/site-packages/MySQLdb/", line 35, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1005, "Can't create table './[stuff deleted]/#sql-48d_41.frm' (errno: 150)")

After some investigation I discovered this error occurs because I use...

DATABASE_OPTIONS = { 'init_command' : 'SET storage_engine = INNODB' } my project settings file, I'm using MySQL for my database. I need to use INNODB files because I am using the binary log feature of MySQL for data recovery in case of disaster. I am using rev 7568 of the development trunk.

Any advice on a work-around welcome.

Change History (4)

comment:1 Changed 12 years ago by Karen Tracey <kmtracey@…>

Resolution: worksforme
Status: newclosed

I cannot recreate on r8277. Specifying InnoDB as the storage engine in DATABAE_OPTIONS via the init_command seems to work fine. I can add the flatpages app as described in the docs and the tabes get created with no errors.

You might try taking the SQL Django is generating (available from python sql flatpages) and running the commands individually in a mysql shell to see which one specifically is failing, that might give a clue. (Remember to first set storage_engine=innodb also.)

For reference, this is the SQL Django is generated for me on r8277:

CREATE TABLE `django_flatpage` (
    `url` varchar(100) NOT NULL,
    `title` varchar(200) NOT NULL,
    `content` longtext NOT NULL,
    `enable_comments` bool NOT NULL,
    `template_name` varchar(70) NOT NULL,
    `registration_required` bool NOT NULL
CREATE TABLE `django_flatpage_sites` (
    `flatpage_id` integer NOT NULL,
    `site_id` integer NOT NULL,
    UNIQUE (`flatpage_id`, `site_id`)
ALTER TABLE `django_flatpage_sites` ADD CONSTRAINT flatpage_id_refs_id_3f17b0a6 FOREIGN KEY (`flatpage_id`) REFERENCES ` django_flatpage` (`id`);
ALTER TABLE `django_flatpage_sites` ADD CONSTRAINT site_id_refs_id_4e3eeb57 FOREIGN KEY (`site_id`) REFERENCES django_site` (`id`);

comment:2 Changed 12 years ago by Karen Tracey <kmtracey@…>

Actually I just figured out how to get your error. I bet you neglected to also include "django.contrib.sites" in your INSALLED_APPS. If I add just flatpages, and not sites, I get the same errno 150 OperationalError.

comment:3 in reply to:  2 Changed 12 years ago by creecode

Replying to Karen Tracey <>:

I bet you neglected to also include "django.contrib.sites" in your INSALLED_APPS.

Sites "django.contrib.sites" was/is there. Additional info, if I comment out the DATABASE_OPTIONS, all works as expected.

comment:4 Changed 12 years ago by Malcolm Tredinnick

Description: modified (diff)

(Fixed formatting errors in description.)

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