Upgrade steps¶
A clean upgrade path is needed to keep Quaive installations sane, for this reason it is required that the checked in code provides the needed upgrade steps to keep the data in sync with the code.
To help out with the creation and installation of the upgrade steps, we
adopt the package ftw.upgrade
.
Developing upgrade steps in the usual way will still work.
Before you start¶
- be sure you have the
bin/upgrade
script in your buildout directory. If not check https://github.com/4teamwork/ftw.upgrade#installing-ftwupgrades-console-script. - be sure you either have no
experimental.publishtraverse
egg in your instance or if you have use, set theEXPERIMENTAL_PUBLISH_TRAVERSE_ONLY_WARN
, e.g.:
EXPERIMENTAL_PUBLISH_TRAVERSE_ONLY_WARN=True ./bin/instance fg
- Check that package
ftw.upgrade
is installed in your site.
Add an upgrade step¶
To add an upgrade step run the create
subcommand:
$ ./bin/upgrade create --path src/ploneintranet/upgrade/v21 "Foo bar"
Created upgrade step at: /home/.../src/ploneintranet/upgrade/v21/20200608154912_foo_bar
Go to the created folder and edit upgrade.py
to fit your needs.
Add in the folder all the generic setup files that you want to be run in
the upgrade step. E.g. you can add a registry.xml
file that contains
the changes you want to apply to your site.
Check ./bin/upgrade create --help
for further details.
List the available upgrade steps¶
To list the pending upgrade steps run the list
subcommand.
If not upgrade is pending:
$ ./bin/upgrade list -s Plone -u
Proposed upgrades:
ID: Title:
If an upgrade is pending you will see:
$ ./bin/upgrade list -s Plone -u
Proposed upgrades:
ID: Title:
20200608154912@ploneintranet.suite:default Foo bar.
Check ./bin/upgrade list --help
for further details.
Install the upgrade steps¶
To install the pending upgrade steps run the install
subcommand.
$ ./bin/upgrade install -s Plone -p
... some logging ...
Result: SUCCESS
Check ./bin/upgrade install --help
for further details.