das vollständige PostNAS-Datenmodell: Unterschied zwischen den Versionen
Rahn (Diskussion | Beiträge) |
Rahn (Diskussion | Beiträge) |
||
Zeile 8: | Zeile 8: | ||
=== Migration von kvwmap Version 2.7 auf Version 2.8 === | === Migration von kvwmap Version 2.7 auf Version 2.8 === | ||
− | Wenn ein kvwmap-Server von Version 2.7 auf Version 2.8 umgestellt werden soll und bisher auch schon das alte PostNAS-Schema verwendet wurde, sind mehrere Schritte für die Umstellung notwendig. | + | Wenn ein kvwmap-Server von Version 2.7 auf Version 2.8 umgestellt werden soll und bisher auch schon das alte PostNAS-Schema verwendet wurde, sind mehrere Schritte für die Umstellung notwendig. |
− | + | Damit die Umstellung eines Produktivsystems möglichst ohne große Ausfallzeit erfolgen kann, wird folgende Vorgehensweise empfohlen: | |
− | |||
− | : | + | '''1. Erstellung einer Testumgebung durch Kopieren der kvwmap-Installation''' |
+ | |||
+ | Die vorhandene kvwmap-Installation wird kopiert. D.h. das kvwmap-Webverzeichnis, die MySQL-DB und die PostGIS-DB. Diese Kopie wird lauffähig gemacht (Anpassen der config.php, Web-Verzeichnis freigeben). In der weiteren Beschreibung wird von folgendem Beispiel ausgegangen: | ||
+ | |||
+ | <table cellpadding="4" border="1" style="border-collapse:collapse"> | ||
<tr> | <tr> | ||
<td></td><td>'''Produktivsystem'''</td><td>'''Testsystem'''</td> | <td></td><td>'''Produktivsystem'''</td><td>'''Testsystem'''</td> | ||
Zeile 28: | Zeile 31: | ||
</tr> | </tr> | ||
</table> | </table> | ||
+ | |||
+ | |||
+ | '''2. In kvwmapsp_test: Umbenennung des Schemas "alkis" in "alkis_alt"''' | ||
+ | |||
+ | In der Test-DB "'''kvwmapsp_test'''" wird das vorhandene Schema "'''alkis'''" in "'''alkis_alt'''" (oder ähnliches) umbenannt. | ||
+ | |||
+ | |||
+ | '''3. In kvwmap_test: Update des Quellcodes und der Datenbanken''' | ||
+ | |||
+ | In "'''kvwmap_test'''" wird in den develop-Branch gewechselt (git checkout develop). Dieser Branch beinhaltet die Unterstützung für das vollständige PostNAS-Schema. | ||
+ | |||
+ | Danach werden über die Administratoroberfläche zunächst der Quellcode und danach die Datenbanken aktualisiert. Dadurch wird das neue, vollständige Schema "'''alkis'''" in der PostGIS-DB angelegt. | ||
+ | |||
+ | |||
+ | '''4. In kvwmapsp_test: Anpassung der Sichten, Funktionen, Regeln, usw.''' | ||
+ | |||
+ | Alle Sichten, Funktionen, Regeln, usw., die auf das alte Schema "alkis" zugegriffen haben, müssen angepasst werden. | ||
+ | |||
+ | Bei Sichten ist es so, dass diese durch die Umbenennung vom alten Schema "alkis" in "alkis_alt" jetzt auch auf "alkis_alt" zugreifen. Dies muss angepasst werden, so dass sie wieder auf das neue Schema "alkis" zugreifen. Außerdem muss die andere Struktur des neuen Schemas "alkis" berücksichtigt werden. | ||
+ | |||
+ | Auch Triggerfunktionen, Funktionen und Regeln müssen auf die Struktur des neuen Schemas "alkis" angepasst werden. | ||
+ | |||
+ | '''!!! WICHTIG: Alle diese Anpassungen müssen in einem SQL-Skript festgehalten werden, welches man dann später auf der PostGIS-DB "kvwmapsp" des Produktivsystems ausführen kann. !!!''' | ||
+ | |||
+ | |||
+ | '''5. In kvwmapdb_test: Anpassung der Layerdefinitionen''' |
Version vom 30. August 2017, 11:32 Uhr
Das von kvwmap verwendete PostNAS-Datenmodell wurde mit dem Tool xmi2db auf Basis des AAA-Implementierungsmodells erzeugt und bildet das ALKIS-Datenmodell vollständig ab.
Das Datenbankschema heißt "alkis" und wird bei Aktivierung des Plugins ALKIS durch Ausführung von Migrationsdateien bei der Aktualisierung der Datenbank automatisch angelegt. Bei dieser DB-Aktualiserung werden neben dem Basisschema außerdem weitere Tabellen, Sichten und Indizes angelegt, die von kvwmap benötigt werden.
Migration von kvwmap Version 2.7 auf Version 2.8
Wenn ein kvwmap-Server von Version 2.7 auf Version 2.8 umgestellt werden soll und bisher auch schon das alte PostNAS-Schema verwendet wurde, sind mehrere Schritte für die Umstellung notwendig.
Damit die Umstellung eines Produktivsystems möglichst ohne große Ausfallzeit erfolgen kann, wird folgende Vorgehensweise empfohlen:
1. Erstellung einer Testumgebung durch Kopieren der kvwmap-Installation
Die vorhandene kvwmap-Installation wird kopiert. D.h. das kvwmap-Webverzeichnis, die MySQL-DB und die PostGIS-DB. Diese Kopie wird lauffähig gemacht (Anpassen der config.php, Web-Verzeichnis freigeben). In der weiteren Beschreibung wird von folgendem Beispiel ausgegangen:
Produktivsystem | Testsystem | |
Webverzeichnis | kvwmap | kvwmap_test |
MySQL-DB | kvwmapdb | kvwmapdb_test |
PostGIS-DB | kvwmapsp | kvwmapsp_test |
2. In kvwmapsp_test: Umbenennung des Schemas "alkis" in "alkis_alt"
In der Test-DB "kvwmapsp_test" wird das vorhandene Schema "alkis" in "alkis_alt" (oder ähnliches) umbenannt.
3. In kvwmap_test: Update des Quellcodes und der Datenbanken
In "kvwmap_test" wird in den develop-Branch gewechselt (git checkout develop). Dieser Branch beinhaltet die Unterstützung für das vollständige PostNAS-Schema.
Danach werden über die Administratoroberfläche zunächst der Quellcode und danach die Datenbanken aktualisiert. Dadurch wird das neue, vollständige Schema "alkis" in der PostGIS-DB angelegt.
4. In kvwmapsp_test: Anpassung der Sichten, Funktionen, Regeln, usw.
Alle Sichten, Funktionen, Regeln, usw., die auf das alte Schema "alkis" zugegriffen haben, müssen angepasst werden.
Bei Sichten ist es so, dass diese durch die Umbenennung vom alten Schema "alkis" in "alkis_alt" jetzt auch auf "alkis_alt" zugreifen. Dies muss angepasst werden, so dass sie wieder auf das neue Schema "alkis" zugreifen. Außerdem muss die andere Struktur des neuen Schemas "alkis" berücksichtigt werden.
Auch Triggerfunktionen, Funktionen und Regeln müssen auf die Struktur des neuen Schemas "alkis" angepasst werden.
!!! WICHTIG: Alle diese Anpassungen müssen in einem SQL-Skript festgehalten werden, welches man dann später auf der PostGIS-DB "kvwmapsp" des Produktivsystems ausführen kann. !!!
5. In kvwmapdb_test: Anpassung der Layerdefinitionen