Upgrading a GeoMapFish application¶
Prepare upgrade¶
Read the ‘Information to know before starting the upgrade’ chapters in the changelog. If you are currently using an LTS (Long-term support) release, you should read all the chapters, if you are using the previous version, only the first chapter is relevant.
Be sure that your managed_files
list is up-to-date in your project.yaml
file.
If you are not sure whether this list is up-to-date, you can perform an update up to step 7 on your
current version and see if some files get modified by the update process.
If the update process modified files which you do not want modified, then add these files to the
managed_files
list.
Prepare the database¶
Clone the schema with e.g.:
SET statement_timeout TO '600s';
SELECT clone_schema('main_<old_version>', 'main_<new_version>', TRUE);
SELECT clone_schema('static_<old_version>', 'static_<new_version>', TRUE);
Update the PGSCHEMA
and the PGSCHEMA_STATIC
in your env.project
file.
From a version prior to 2.7.x¶
Upgrade your project first to 2.7, as this is the current long-term release. Migration scripts and instructions assume that your minimal version is the current long-term release.
Upgrade the project¶
Start the upgrade:
./build --upgrade <version>
Then follow the instructions.
The <version>
can be x.y.z.p
to target a stable version, or master
to target the master branch.
If for some reason you need to debug what happens during the upgrade see: here.
Upgrade the database¶
The database will be automatically upgraded during the upgrade process.
To upgrade only the database you can use alembic directly.
The help:
docker compose exec geoportal alembic --help
Upgrade the main schema:
docker compose exec geoportal alembic --name=main upgrade head
Upgrade the static schema:
docker compose exec geoportal alembic --name=static upgrade head