2

OperationalError at /account/signin/
 

Hi there, I'm getting this error when trying to sign in the first user right after installing askbot. Do you know what is it about?

OperationalError at /account/signin/

(1054, "Unknown column 'askbot_anonymousanswer.question_id' in 'field list'")

Request Method:     GET
Request URL:    http://127.0.1.1:8000/account/signin/?next=/
Django Version:     1.3.1
Exception Type:     OperationalError
Exception Value:    

(1054, "Unknown column 'askbot_anonymousanswer.question_id' in 'field list'")

Exception Location:     /usr/lib/python2.7/dist-packages/MySQLdb/connections.py in defaulterrorhandler, line 36
Python Executable:  /usr/bin/python
Python Version:     2.7.3

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)
Pepe's avatar
71
Pepe
asked 12 years ago

Comments

Forgot to run migrations? Try "python manage.py migrate --list". Do you have any migrations that were not applied? If so, run "python manage.py migrate".

Evgeny's avatar Evgeny (12 years ago)

Thanks for your quick response. I already did that. I've tried to run it again but it did not solve the problem. Any other suggestion?

Pepe's avatar Pepe (12 years ago)

Hey people, I'm still stuck with this... Any help?

Pepe's avatar Pepe (12 years ago)

Hi guys I am having the same problem and I can't install Posgres to solve the problem. Any other alternative?

Erich's avatar Erich (12 years ago)
1

You must have forgotten to run python manage.py migrate

Evgeny's avatar Evgeny (12 years ago)
see more comments

2 Answers

2

It certainly due to the fact that before MySQL was using by default MyISAM as it's storage engine and the version 5.5 now use InnoDB, it seems to create some uncompatibility on altering table containing foreign key constraint (i.e it works with myisam but not innodb) so the migrate fails

doing this solve the issue for me (I know it's a work around, but it may helps to create a more generic solution)

open a MySQL shell (or phpmyadmin whatsoever) and run

 show create table askbot_anonymousanswer;

you should see a line that looks like this

CONSTRAINT `question_post_id_refs_id_648edfb25e596e3` FOREIGN KEY (`question_post_id`) REFERENCES `askbot_post` (`id`)

note the name of this question_post_id_refs_id_648edfb25e596e3

and then run

alter table askbot_anonymousanswer drop foreign key   question_post_id_refs_id_648edfb25e596e3 ;
alter table askbot_anonymousanswer change question_post_id question_id int(11) ;

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)
sysko's avatar
73
sysko
answered 12 years ago, updated 12 years ago
link

Comments

It should be possible now to run Askbot on InnoDB if Haystack is used for search, but this has not been tested yet.

Evgeny's avatar Evgeny (12 years ago)

how can we add this to a migration so when we run migration it will magically work :)

SocialQA's avatar SocialQA (11 years ago)
see more comments
2

Ok, finally I fixed this by running Postgresql instead of Mysql to create the database. ;)

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)
Pepe's avatar
71
Pepe
answered 12 years ago
link

Comments

@Pepe, which version of MySQL did you have? Thank you.

Evgeny's avatar Evgeny (12 years ago)

Current version, I think it is 5.5.27

Pepe's avatar Pepe (12 years ago)
see more comments