X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/1c1e95182698b23372e87ccae9f535dcbb5f7c5a..5d6aabc457e673e825c4cf46585938bcc77aec3b:/docs/admin/Migration.md?ds=sidebyside diff --git a/docs/admin/Migration.md b/docs/admin/Migration.md index 753fb500..fc309af1 100644 --- a/docs/admin/Migration.md +++ b/docs/admin/Migration.md @@ -1,12 +1,40 @@ # Database Migrations -This page describes database migrations necessary to update existing databases -to newer versions of Nominatim. +Since version 3.7.0 Nominatim offers automatic migrations. Please follow +the following steps: -SQL statements should be executed from the PostgreSQL commandline. Execute -`psql nominatim` to enter command line mode. +* stop any updates that are potentially running +* update Nominatim to the newer version +* go to your project directory and run `nominatim admin --migrate` +* (optionally) restart updates -## 3.6.0 -> master +Below you find additional migrations and hints about other structural and +breaking changes. **Please read them before running the migration.** + +!!! note + If you are migrating from a version <3.6, then you still have to follow + the manual migration steps up to 3.6. + +## 3.6.0 -> 3.7.0 + +### New format and name of configuration file + +The configuration for an import is now saved in a `.env` file in the project +directory. This file follows the dotenv format. For more information, see +the [installation chapter](Import.md#configuration-setup-in-env). + +To migrate to the new system, create a new project directory, add the `.env` +file and port your custom configuration from `settings/local.php`. Most +settings are named similar and only have received a `NOMINATIM_` prefix. +Use the default settings in `settings/env.defaults` as a reference. + +### New location for data files + +External data files for Wikipedia importance, postcodes etc. are no longer +expected to reside in the source tree by default. Instead they will be searched +in the project directory. If you have an automated setup script you must +either adapt the download location or explicitly set the location of the +files to the old place in your `.env`. ### Introducing `nominatim` command line tool @@ -19,14 +47,20 @@ functionality of each script: * ./utils/setup.php: `import`, `freeze`, `refresh` * ./utils/update.php: `replication`, `add-data`, `index`, `refresh` * ./utils/specialphrases.php: `special-phrases` -* ./utils/check_import_finished.php: `check-database` -* ./utils/warm.php: `warm` +* ./utils/check_import_finished.php: `admin` +* ./utils/warm.php: `admin` * ./utils/export.php: `export` Try `nominatim --help` for more information about each subcommand. `./utils/query.php` no longer exists in its old form. `nominatim search` -provides a replacement. +provides a replacement but returns different output. + +### Switch to normalized house numbers + +The housenumber column in the placex table uses now normalized version. +The automatic migration step will convert the column but this may take a +very long time. It is advisable to take the machine offline while doing that. ## 3.5.0 -> 3.6.0 @@ -90,6 +124,14 @@ configuration file, run the following command after updating: ./utils/setup.php --setup-website ``` +### Update SQL code + +To update the SQL code to the leatest version run: + +``` +./utils/setup.php --create-functions --enable-diff-updates --create-partition-functions +``` + ## 3.4.0 -> 3.5.0 ### New Wikipedia/Wikidata importance tables