First time here? Check out the FAQ!
0

Question missing from question_revision table!
 

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)

To enter a block of code:

  • enter empty line after your previous text
  • paste or type the code
  • select the code and press the button above
Preview: (hide)
Evgeny's avatar
13.2k
Evgeny
updated 14 years ago
Benoit's avatar
875
Benoit
asked 14 years ago

Comments

see more comments

1 Answer

0

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.

To enter a block of code:

  • enter empty line after your previous text
  • paste or type the code
  • select the code and press the button above
Preview: (hide)
Evgeny's avatar
13.2k
Evgeny
updated 14 years ago, answered 14 years ago
link

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's avatar Evgeny (14 years ago)
That worked. While postgres sounds interesting, I'm not sure about migrating my data. That's something I'll have to investigate *sigh*
Benoit's avatar Benoit (14 years ago)
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's avatar Evgeny (14 years ago)
see more comments