Generic upgrade instructions¶
Before upgrading, please check the current Software requirements as they might have
changed. Once all requirements are installed or updated, please adjust your
settings.py to match changes in the configuration (consult
settings_example.py for correct values).
Always check Version specific instructions before upgrade. In case you are skipping some versions, please follow instructions for all versions you are skipping in the upgrade. Sometimes it’s better to upgrade to some intermediate version to ensure a smooth migration. Upgrading across multiple releases should work, but is not as well tested as single version upgrades.
It is recommended to perform a full database backup prior to upgrade so that you can roll back the database in case upgrade fails.
Upgrade configuration file, refer to
settings_example.pyor Version specific instructions for needed steps.
Upgrade database structure:
./manage.py migrate --noinput
Collect updated static files (mostly javacript and CSS):
./manage.py collectstatic --noinput
Update language definitions (this is not necessary, but heavily recommended):
Optionally upgrade default set of privileges definitions (you might want to add new permissions manually if you have heavily tweaked access control):
If you are running version from Git, you should also regenerate locale files every time you are upgrading. You can do this by invoking:
Verify that your setup is sane (see also Production setup):
./manage.py check --deploy
Changed in version 3.0.1: If you are upgrading from 2.x release, always first upgrade to 3.0.1 (see Upgrade from 2.20 to 3.0) and the continue ugprading in the 3.x series. Upgrades skipping this step are not supported and will break.
Version specific instructions¶
Upgrade from 3.0.1 to 3.1¶
Please follow Generic upgrade instructions in order to perform update.
Notable configuration or dependencies changes:
- Several no longer needed applications have been removed from
- The settings now recommend using several Django security features, see SSL/HTTPS.
Upgrading from Python 2.x to 3.x¶
The upgrade from Python 2.x to 3.x, should work without major problems. Take care about some changed module names when installing dependencies.
The Whoosh index has to be rebuilt as it’s encoding depends on Python version, you can do that using following command:
./manage.py rebuild_index --clean --all
The caches might be incompatible (depending on cache backend you are using), so it might be good idea to purge caches.