Update the database¶
django-paypal uses South for migrations for Django < 1.7, and the built in Django migrations framework for Django >= 1.7.
To update your database:
For Django < 1.7:
Ensure South is installed if it isn’t already:
pip install 'South>=1.0.1'
Add ‘south’ to your INSTALLED_APPS setting.
Run the following to install South tables:
Then for each time you install or upgrade django-paypal, run:
For Django >= 1.7:
Upgrading from very old versions¶
If you using Django < 1.7 and are upgrading from a very old version (before
0.1.1) that wasn’t using South, you will have to use
--fake - see
It will probably look something like:
./manage.py migrate ipn --fake --initial ./manage.py migrate pdt --fake --initial ./manage.py migrate pro --fake --initial ./manage.py migrate ipn ./manage.py migrate pdt ./manage.py migrate pro
depending on what apps you have installed.
Please also see Release notes.
Upgrading to Django 1.7¶
If you installed django-paypal with an older version of Django, you will have been using South to handle database migrations. Due to the new built-in database migration framework in Django 1.7, the upgrade procedure is slightly complicated.
The recommended upgrade procedure is:
Before upgrading to Django 1.7, first upgrade django-paypal to the latest version and run migrations as above (including deploying to your production environment and running migrations there).
Then upgrade Django to 1.7, and run the following as appropriate for your situation:
./manage.py migrate ipn --fake ./manage.py migrate pdt --fake ./manage.py migrate pro --fake
In this way, you can avoid running equivalent migrations twice (the South versions and the Django built-in versions).