das vollständige PostNAS-Datenmodell: Unterschied zwischen den Versionen

Aus kvwmap
Wechseln zu: Navigation, Suche
Zeile 45: Zeile 45:
  
  
'''4. In kvwmapsp_test: Anpassung der Sichten, Funktionen, Regeln, usw.'''
+
'''4. In kvwmapsp_test: Einlesen eines neuen Grunddatenbestandes'''
 +
 
 +
Das neue Schema "alkis" wird mit einem neuen Grunddatenbestand befüllt. Siehe [[ALKIS-Daten einlesen]].
 +
 
 +
 
 +
'''5. 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.  
 
Alle Sichten, Funktionen, Regeln, usw., die auf das alte Schema "alkis" zugegriffen haben, müssen angepasst werden.  
Zeile 56: Zeile 61:
  
  
'''5. In kvwmapdb_test: Anpassung der Layerdefinitionen'''
+
'''6. In kvwmapdb_test: Anpassung der Layerdefinitionen'''
 +
 
 +
Im Test-System müssen alle Layerdefinitionen, die auf das Schema "alkis" zugreifen, auf die neue Datenstruktur angepasst werden.
 +
 
 +
'''!!! WICHTIG: Auch diese Anpassungen müssen in einem SQL-Skript festgehalten werden, welches man dann später auf der MySQL-DB "kvwmapdb" des Produktivsystems ausführen kann. !!!'''
 +
 
 +
'''7. Umstellung des Produktivsystems'''
 +
 
 +
Wenn alle Anpassungen in der PostGIS-DB "kvwmapsp_test" und der MySQL-DB "kvwmapdb_test" vorgenommen worden sind und das Testsystem mit dem neuen Schema gründlich getestet wurde, kann das Produktivsystem umgestellt werden.
 +
 
 +
Dazu werden die Schritte 2 - 4 nun auf dem Produktivsystem ausgeführt. Danach werden die beiden Änderungsskripte auf der MySQL-DB "kvwmapdb" und der PostGIS-DB "kvwmapsp" ausgeführt.

Version vom 30. August 2017, 12:42 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:

ProduktivsystemTestsystem
Webverzeichniskvwmapkvwmap_test
MySQL-DBkvwmapdbkvwmapdb_test
PostGIS-DBkvwmapspkvwmapsp_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: Einlesen eines neuen Grunddatenbestandes

Das neue Schema "alkis" wird mit einem neuen Grunddatenbestand befüllt. Siehe ALKIS-Daten einlesen.


5. 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. !!!


6. In kvwmapdb_test: Anpassung der Layerdefinitionen

Im Test-System müssen alle Layerdefinitionen, die auf das Schema "alkis" zugreifen, auf die neue Datenstruktur angepasst werden.

!!! WICHTIG: Auch diese Anpassungen müssen in einem SQL-Skript festgehalten werden, welches man dann später auf der MySQL-DB "kvwmapdb" des Produktivsystems ausführen kann. !!!

7. Umstellung des Produktivsystems

Wenn alle Anpassungen in der PostGIS-DB "kvwmapsp_test" und der MySQL-DB "kvwmapdb_test" vorgenommen worden sind und das Testsystem mit dem neuen Schema gründlich getestet wurde, kann das Produktivsystem umgestellt werden.

Dazu werden die Schritte 2 - 4 nun auf dem Produktivsystem ausgeführt. Danach werden die beiden Änderungsskripte auf der MySQL-DB "kvwmapdb" und der PostGIS-DB "kvwmapsp" ausgeführt.