Upgrade¶
The rdmo
package can be conveniently upgraded using the pip
command. However, before you perform any changes to your installation, please backup the important components to a save location.
A PostgreSQL or MySQL database can be database can be dumped into a file using:
pg_dump [DBNAME] > rdmo.sql # PostgreSQL
mysqldump -uroot -p [DBNAME] > rdmo.sql
Your rdmo-app
directory (including any sqlite3 database) can be copied using the usual commands. Note that your virtual environment will not work after being moved to a different path.
In order to upgrade your RDMO installation go to your rdmo-app
directory, activate your virtual environment, and upgrade the rdmo
package using pip
:
pip install --upgrade rdmo
In order to install a specific version (e.g. 0.9.0) of RDMO use:
pip install --upgrade rdmo==0.9.0
After the upgrade a database migration might be necessary:
python manage.py migrate
Sometimes, the static vendor files need to be downloaded again:
python manage.py download_vendor_files
In any case you have to deploy the changes:
python manage.py deploy
The last three commands can be combined using:
python manage.py upgrade
Please check the release notes if this, or other, steps are necessary.
Upgrade to version 0.9.0¶
With version 0.9.0 we introduced the split into the rdmo-app
and the centrally maintained rdmo
package. Therefore a few additional steps are needed to upgrade any earlier version to 0.9.0 or beyond:
In any case perform a backup of your
rdmo
directory and your database as described above.Perform the steps described in clone and packages as if you would install a new instance of RDMO.
Copy your old configuration from
/path/to/old/rdmo/rdmo/settings/local.py
to/path/to/new/rdmo-app/config/settings/local.py
. The newconfig
directory replaces the oldrdmo
directory.If you already have a
theme
directory, copy it into the newrdmo-app
folder.Run a database migration (Unless you skipped several versions, the output should be
No migrations to apply.
):python manage.py migrate
Download the front-end files from the CDN. We don’t use bower and npm anymore.
python manage.py download_vendor_files
Update the path to the
wsgi.py
script in your Apache or nginx configuration. It is now under/path/to/new/rdmo-app/config/wsgi.py
.Redeploy RDMO as described under deployment of Apache or Nginx.
If you have trouble with the upgrade process, don’t hesitate to contact the RDMO team for support.
Upgrade to version 0.14¶
With version 0.14 the Python 2 support was dropped and we swiched to Django 2.2. This demands two changes to the local rdmo-app
:
- Adjust RDMO app’s
config/urls.py
to Django2 schemes. The file is much simpler and shorter now. A working example can be found at https://github.com/rdmorganiser/rdmo-app/blob/master/config/urls.py - MIDDLEWARE_CLASSES in
config/settings/local.py
needs to be renamed toMIDDLEWARE
only