开发者

Adding South to Django project, development & production

Adding South to an existing Django project. I h开发者_开发问答ave it installed on both the development machine and the "production" server.

I've done the following on the development machine, then: added South app to settings.py,

python manage.py syncdb
python manage.py convert_to_south myproject.myapp

then changed some models, then

python manage.py schemamigration myproject.myapp --auto
python manage.py migrate myproject.myapp

Seems to work so far. What I am now not so sure about is what to do on the production server. Just repeat all these steps manually? Upload modified settings.py, do syncdb, convert_to_south, upload modified models.py, do schemamigration, migrate? Something different? The tutorial here says something about adding migrations to the version control, so, presumably, they should be uploaded and somehow applied on the production server?

Furthermore, right now I am using sqlite3 on the development machine and mysql on the server - does it make things any different south-wise?


My guide says:

  1. Install South on server. import south from shell just to make sure you are using the same python env.
  2. Add 'south' to INSTALLED_APPS in settings.py.
  3. Upload settings.py.
  4. Restart server
  5. python manage.py syncdb.
  6. Upload new app/models.py and app/migrations/ dir.
  7. Restart server.
  8. python manage.py migrate app --fake 0001
  9. python manage.py migrate app


To make sure the south migration table exists,

python manage.py syncdb

and then

python manage.py migrate myproject.myapp --fake 0001
python manage.py migrate myproject.myapp

That's what's worked for me. :)


No need to do this in Django >= 1.7
i am stuck on this more then 1 hour :)
and at last find 1.7 and more have in build upgrading-from-south

for more info https://docs.djangoproject.com/en/1.7/topics/migrations/#upgrading-from-south
may be this one help you

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜