Version 1.1.0 adds a number of new features, but many of these will require little to no changes.
Version 1.0.0 changes a few admin-visible components of Patchwork so upgrading involves a few steps.
Update the database schema, by running the 015-add-patch-tags.sql
script,
and re-run the grants script. For example, on postgres:
psql -f lib/sql/migration/015-add-patch-tags.sql patchwork
psql -f lib/sql/grant-all.postgres.sql patchwork
We highly suggest you move to Django Migrations as support for Django 1.6 (and subsequently manual SQL migrations) will be dropped in an upcoming release. You can do this using the migrate command:
./manage.py migrate --fake-initial
NOTE: The --fake-initial
parameter is only required on Django >= 1.8.
By default, settings are read from patchwork/settings/production.py
. To
migrate, use the template:
cp patchwork/settings/production{.example,}.py
Merge your previous settings (from apps/local_settings.py
) into this file.
The apps/
directory is gone; the Patchwork module is now in the top-level
directory. If you have scripts that run anything from apps/
(e.g. incoming
mail parsers that call parsemail.sh
, and cron scripts), then remove the
apps/
directory from those:
apps/patchwork/ -> patchwork/
Alternatively, you can create a symlink - apps/ -> .
If you have been running scripts (eg, from cron) that set the
DJANGO_SETTINGS_MODULE
environment variable, you'll need to update that to
the new settings system. Typically:
DJANGO_SETTINGS_MODULE=patchwork.settings.production
The manage.py
script has been moved from apps/ into the top-level directory
too.
Static content should now be located in the folder indicated by STATIC_ROOT
.
This should point somewhere sensible (e.g. the absolute path of htdocs/static
in the Patchwork tree).
You'll need to set the STATIC_ROOT
setting in your settings file.
Once settings are configured, run the 'collectstatic' management command:
./manage.py collectstatic
You also need to update your Apache configuration to use the new static
content. Since static content is now in all under STATIC_ROOT
, the
configuration should be simpler than in previous releases. The core config
will be:
DocumentRoot /srv/patchwork/htdocs/
Alias /static/ /srv/patchwork/htdocs/static/
WSGIScriptAlias / /srv/pathchwork/lib/apache2/patchwork.wsgi
WSGIPassAuthorization On
The Patchwork cron script (bin/patchwork-cron.py
) has been moved to a
manage.py
command. Instead of running patchwork-cron.py
, you should now
run:
./manage.py cron