Ask Your Question
0

Question missing from question_revision table!

asked 2010-10-29 15:34:09 -0600

Benoit gravatar image

updated 2010-11-10 11:53:51 -0600

Evgeny gravatar image

I don't know how it could have gotten in this state, but I have 3 questions in my database that do not have an entry in the question_revision table.

The questions display fine, but whenever I try to edit the question, I get an exception in query.py in __getitem__

Note that the ID in the table are sequential. There is no hole...

A few questions:

  • Any idea why this happened?
  • Easy way to fix?
  • Should there be code to catch an empty revision? (I would think not...This is a DB issue)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2010-10-29 15:41:33 -0600

Evgeny gravatar image

updated 2010-10-29 15:48:59 -0600

Something muste be out of hand. I've seen this problem on an installation where the program was trowing an exception between the time question is saved and the revision is intended to be saved.

The exception was SMTPError, but in your case it could be something else, like for example some people missing EmailFeedSetting values for those accounts that you have created programmatically.

There are management commands that "bandaid" that and related issues, but to really fix this we need to find what throws the exception and why.

python manage.py fix_revisionless_posts #will create an initial revision
python manage.py fix_answer_counts #fixes incorrect answer counts

You can also try postgres and the database backend. With postgres django will run every request in its own transaction and will help prevent situations where data becomes corrupted by rolling back transactions that had an uncaught exception. (With postgres you'll also get relevancy ranking on full text search and automatically "and"ed search. In mysql search is "od"ed and is not very specific). In MySQL at the moment you have to choose between support of transactions and the full text search capability.

edit flag offensive delete link more

Comments

the fix_revisionless_posts will make revision pages display fine, but the problem will probably re-appear when you try to edit that post until you fix the problem of missing email subscription settings.
Evgeny gravatar imageEvgeny ( 2010-10-29 15:50:51 -0600 )edit
That worked. While postgres sounds interesting, I'm not sure about migrating my data. That's something I'll have to investigate *sigh*
Benoit gravatar imageBenoit ( 2010-10-29 16:29:52 -0600 )edit
I'll migrate the data here and write up on this. Supposedly all you need to do is to delete table creation SQL from the MySQL dump and replace "" with \", but still need to try here.
Evgeny gravatar imageEvgeny ( 2010-10-29 17:02:49 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2010-10-29 15:34:09 -0600

Seen: 101 times

Last updated: Nov 10 '10