mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-28 17:32:38 +02:00

- simpler to use - lighter dependency (or no dependency at all, depending on python distribution) - retrocompatible virtualenv package from pip to acheive virtual environment feature is no longer needed, except for projects which need to support py2, which is no longer our case. Also, reword "virtualenv" to "virtual environment" in doc, to avoid confusion with pip package name. Ref #483
120 lines
3.6 KiB
ReStructuredText
120 lines
3.6 KiB
ReStructuredText
Upgrading
|
|
#########
|
|
|
|
We keep `a ChangeLog
|
|
<https://github.com/spiral-project/ihatemoney/blob/master/CHANGELOG.rst>`_. Read
|
|
it before upgrading.
|
|
|
|
Ihatemoney follows `semantic versioning <http://semver.org/>`_. So minor/patch
|
|
upgrades can be done blindly.
|
|
|
|
.. _general-procedure:
|
|
|
|
General procedure
|
|
=================
|
|
|
|
*(sufficient for minor/patch upgrades)*
|
|
|
|
1. From the virtual environment (if any)::
|
|
|
|
pip install -U ihatemoney
|
|
|
|
2. Restart *supervisor*, or *Apache*, depending on your setup.
|
|
|
|
You may also want to set new configuration variables (if any). They are
|
|
mentioned in the `ChangeLog
|
|
<https://github.com/spiral-project/ihatemoney/blob/master/CHANGELOG.rst>`_, but
|
|
this is **not required for minor/patch upgrades**, a safe default will be used
|
|
automatically.
|
|
|
|
Version-specific instructions
|
|
=============================
|
|
|
|
*(must read for major upgrades)*
|
|
|
|
When upgrading from a major version to another, you **must** follow special
|
|
instructions:
|
|
|
|
4.x → 5.x
|
|
---------
|
|
|
|
Switch to a supported version of Python
|
|
+++++++++++++++++++++++++++++++++++++++
|
|
|
|
.. note:: If you are already using Python ≥ 3.6, you can skip this section, no
|
|
special action is required.
|
|
|
|
If you were running IHateMoney using Python < 3.6, you must, **before** upgrading:
|
|
|
|
1. Ensure to have a Python ≥ 3.6 available on your system
|
|
2. Rebuild your virtual environment (if any). It will *not* alter your database nor configuration. For example, if your virtual environment is in `/home/john/ihatemoney/`::
|
|
|
|
rm -rf /home/john/ihatemoney
|
|
pyhton3 -m venv /home/john/ihatemoney
|
|
source /home/john/ihatemoney/bin/activate
|
|
|
|
You might need to ``pip install`` additional dependencies if you are using one
|
|
or several of the following deployment options :
|
|
|
|
- Gunicorn (Nginx)
|
|
- MySQL
|
|
- PostgreSQL
|
|
|
|
If so, pick the ``pip`` commands to use in the relevant section(s) of
|
|
:ref:`installation`.
|
|
|
|
Then follow :ref:`general-procedure` from step 1. in order to complete the update.
|
|
|
|
|
|
2.x → 3.x
|
|
---------
|
|
|
|
Sentry support has been removed. Sorry if you used it.
|
|
|
|
Appart from that, :ref:`general-procedure` applies.
|
|
|
|
|
|
1.x → 2.x
|
|
---------
|
|
|
|
Switch from git installation to pip installation
|
|
++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
The recommended installation method is now using *pip*. Git is now intended for
|
|
development only.
|
|
|
|
.. warning:: Be extra careful to not remove your sqlite database nor your
|
|
settings file, if they are stored inside the cloned folder.
|
|
|
|
1. Delete the cloned folder
|
|
|
|
|
|
.. note:: If you are using a virtual environment, then the following commands should be run inside it (see
|
|
:ref:`virtualenv-preparation`).
|
|
|
|
|
|
2. Install ihatemoney with pip::
|
|
|
|
pip install ihatemoney
|
|
|
|
3. Fix your configuration file (paths *have* changed), depending on
|
|
the software you use in your setup:
|
|
|
|
- **gunicorn**: ``ihatemoney generate-config gunicorn.conf.py`` (nothing
|
|
critical changed, keeping your old config might be fine)
|
|
|
|
- **supervisor** : ``ihatemoney generate-config supervisord.conf`` (mind the
|
|
``command=`` line)
|
|
|
|
- **apache**: ``ihatemoney generate-config apache-vhost.conf`` (mind the
|
|
``WSGIDaemonProcess``, ``WSGIScriptAlias`` and ``Alias`` lines)
|
|
4. Restart *Apache* or *Supervisor*, depending on your setup.
|
|
|
|
Upgrade ADMIN_PASSWORD to its hashed form
|
|
++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
.. note:: Not required if you are not using the ADMIN_PASSWORD feature.
|
|
|
|
``ihatemoney generate_password_hash`` will do the hashing job for you, just put
|
|
its result in the ``ADMIN_PASSWORD`` var from your `ihatemoney.cfg` and
|
|
restart *apache* or the *supervisor* job.
|