If I want to add a new element in Class Question(question.py), What should I do?
I have modify askbot/models/question.py like this:
title = models.CharField(max_length=300) tags = models.ManyToManyField('Tag', related_name='questions') answer_accepted = models.BooleanField(default=False) +testestest = models.BooleanField(default=False) closed = models.BooleanField(default=False)
After modify question.py, I delete old database in mysql, run "python manage.py syncdb; python manage.py migrate". Then I check the question table in mysql again, but "testestest" field isn't exist in question table.
Hello, in this case it will be necessary to use
Here is the documentation http://south.aeracode.org/.
First thing, after you change code in the models, make a schema migration:
python manage.py schemamigration askbot --auto
Then apply the migration.
python manage.py migrate askbot
All migrations for askbot live in the directory
askbot/migrations - you will need to edit your migration and the subsequent askbot's migration (when we make a new one)
The edit in the migration files is necessary to specify that your migration must run after the last current askbot's migration, and the next askbot's migration must run after yours.
Here is the document explaining how to deal with migration dependencies http://south.aeracode.org/docs/dependencies.html.
South has two types of migrations - schema migrations and data migrations. Schema migrations change the database schema, while data migrations only modify the data.
At Askbot we love South - cheers to the South devs! Definitely check out their django & python hosting service called ep.io it make django deployments real easy.
Create your Q&A site at askbot.com. Managed Askbot hosting at just $15/mo. Dedicated hosting, support contracts, consulting services.create your Q&A site
Asked: 2011-10-26 03:34:03 -0500
Seen: 102 times
Last updated: Oct 27 '11