First time here? Check out the FAQ!
0

add a new app to askbot - syncdb doesn't create model
 

I have created a new app when I run python manage.py syncdb it get listed under synced module but when I go and take a look at the database tables have not been created. I have added the new app to installed_apps.

Here is how my model looks like:

from django.db import models from askbot.deps.django_authopenid.models import User

class MyUser(models.Model):
    auth_user = models.ForeignKey(User)
    my_username = models.CharField(max_length = 200)
    my_user_role = models.CharField(max_length = 200)

    class Meta:
        app_label = 'askbot'

How can I integrate this with syncdb and migration process. Regardless the migration I thought when you add it to installed_apps it should create the database. Am I wrong? or is there anything else that I should be doing?

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)
SocialQA's avatar
265
SocialQA
asked 11 years ago

Comments

see more comments

1 Answer

1

That's because app askbot requires migrations. It will be better to make your own app with different name then syncdb will work.

If you add tables in the askbot app, then you will need to add a migration creating that table and in the future maintain your migrations within the askbot/migrations directory.

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
answered 11 years ago
link

Comments

I have named my app as myuser thats the name of the app its in askbot/myuser, should I create a migration folder there and run migration? I created another app but that worked find in that app i didn't use app_label = 'askbot' may be thats the reason?

SocialQA's avatar SocialQA (11 years ago)
1

Try changing "applabel" parameter to something else, and it will be better to place your app in a separate directory at the same level as "askbot". You could even keep your app in a separate repository.

Evgeny's avatar Evgeny (11 years ago)
1

Interesting thing was as it is mysql database generate the table during syncdb but postgres doesnt. So I tried askbot_myapp, this way it generate and empty migration script. I want my table to by askbot_myuser how can I get that with migration. i do following: python manage.py schemamigration askbot.myapp --initial with app_label = askbot_myapp then it generates empty migration 0001 file.

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