X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/6cc06828dbc722deb1c06dc4176400f727eb24dc..8e1d4818aca13a7a0a992af7ba8c5b9ff47f65ed:/docs/admin/Migration.md diff --git a/docs/admin/Migration.md b/docs/admin/Migration.md index 333c2477..fc309af1 100644 --- a/docs/admin/Migration.md +++ b/docs/admin/Migration.md @@ -1,22 +1,32 @@ # 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.** -### Status table contains now time zone information +!!! note + If you are migrating from a version <3.6, then you still have to follow + the manual migration steps up to 3.6. -The `import_status` table has been changed to include timezone information -with the time stamp. You need to alter an existing table before running -any replication functions with: +## 3.6.0 -> 3.7.0 -```sql -ALTER TABLE import_status ALTER COLUMN lastimportdate TYPE timestamp with time zone; -``` +### 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 @@ -37,8 +47,8 @@ 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. @@ -46,6 +56,12 @@ Try `nominatim --help` for more information about each subcommand. `./utils/query.php` no longer exists in its old form. `nominatim search` 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 ### Change of layout of search_name_* tables @@ -108,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