Update mapbender 2.2.3 to 2.4.3

From MapbenderWiki

Jump to: navigation, search

Contents

English

Update Mapbender 2.2.3 to 2.4.3

1. create new DB mb243 .

createdb -U Benutzer -E LATIN1 mb243
createlang -U Benutzer plpgsql mb243
psql -U Benutzer -f psql -U Benutzer -f /.../postgresql-8.2-postgis/lwpostgis.sql mb243
psql -U Benutzer -f /.../mapbender243/resources/db/ postgresql/pgsql_schema.sql mb243 &> mb243_schema.log

2. create dump of the current mb223-DB using pg_dump (only data)

pg_dump -U Benutzer -a -O -D mb223 > /.../mapbender243/resources/dev/mb223_daten.sql

3. activate/deactivate foreign keys

on top of the script:
UPDATE pg_catalog.pg_class SET reltriggers = 0;

at the end:
UPDATE pg_catalog.pg_class SET reltriggers = (SELECT pg_catalog.count(*) FROM pg_catalog.pg_trigger where pg_class.oid = tgrelid)

Important: there are double entries in the table wms_srs. delete them!

4. add dump in the new table (1):

psql -U Benutzer -f /.../mapbender243/resources/dev/ mb223_daten.sql mb243 &> mb243.log

5. add the missing standard guis: „gui2“, „gui_digitize“, „admin_de_services“ und „admin_en_services“. check the latest changes since relaese 2.2.3 (http://www.mapbender.org/index.php/Dbchanges)

psql -U Benutzer mb243
INSERT INTO gui (gui_id, gui_name, gui_description, gui_public) VALUES ('gui2','gui2','client element collection',1);
INSERT INTO gui (gui_id, gui_name, gui_description, gui_public) VALUES ('gui_digitize','gui_digitize', 'new gui for digitizing',1);
INSERT INTO gui_mb_user (fkey_gui_id, fkey_mb_user_id, mb_user_type) VALUES ('gui2', 1, 'owner');
INSERT INTO gui_mb_user (fkey_gui_id, fkey_mb_user_id, mb_user_type) VALUES ('gui_digitize', 1, 'owner');

6. Update the standrad guis (iso or utf8) using the script of version 2.4.3:

psql -U Benutzer -f /.../mapbender243/resources/dev/ update_2.4.3/update_guis_iso.sql mb243 &> mb243_gui.log

7. Delete needles data using the cleaning-scripts (http://www.mapbender.org/index.php/Database-cleaning-script)

DELETE FROM layer WHERE NOT EXISTS (SELECT * FROM wms WHERE layer.fkey_wms_id = wms.wms_id); 
DELETE FROM layer_epsg WHERE NOT EXISTS (SELECT * FROM layer WHERE layer_epsg.fkey_layer_id = layer.layer_id); 
DELETE FROM gui_element_vars WHERE NOT EXISTS (SELECT * FROM gui_element WHERE (gui_element_vars.fkey_gui_id =  gui_element.fkey_gui_id) AND (gui_element_vars.fkey_e_id = gui_element.e_id )); 
DELETE FROM layer_style WHERE NOT EXISTS (SELECT * FROM layer WHERE layer_style.fkey_layer_id = layer.layer_id); 
DELETE FROM gui_layer WHERE NOT EXISTS (SELECT * FROM layer WHERE gui_layer.fkey_layer_id = layer.layer_id); 
DELETE FROM wms_format WHERE NOT EXISTS (SELECT * FROM wms WHERE wms_format.fkey_wms_id = wms.wms_id); 
DELETE FROM wms_srs WHERE NOT EXISTS (SELECT * FROM wms WHERE wms_srs.fkey_wms_id = wms.wms_id);

8. Check if the login works. maybe you have to set a new encrypted password

UPDATE mb_user set mb_user_password = md5('root') where mb_user_name = 'root'

9. set authorization for the new standard guis and fill gui2 and gui_digitize with WMS services

INSERT INTO gui (gui_id, gui_name, gui_description, gui_public) VALUES ('gui2','gui2','client element collection',1);
INSERT INTO gui (gui_id, gui_name, gui_description, gui_public) VALUES ('gui_digitize','gui_digitize','new gui for digitizing',1);
INSERT INTO gui_mb_user (fkey_gui_id, fkey_mb_user_id, mb_user_type) VALUES ('gui2', 1, 'owner');
INSERT INTO gui_mb_user (fkey_gui_id, fkey_mb_user_id, mb_user_type) VALUES ('gui_digitize', 1, 'owner');

10. Check the functionality.

11. integrate your own changes

Deutsch

Update von Mapbender 2.2.3 nach 2.4.3

1. Neue DB mb243 .

createdb -U Benutzer -E LATIN1 mb243
createlang -U Benutzer plpgsql mb243
psql -U Benutzer -f psql -U Benutzer -f /.../postgresql-8.2-postgis/lwpostgis.sql mb243
psql -U Benutzer -f /.../mapbender243/resources/db/ postgresql/pgsql_schema.sql mb243 &> mb243_schema.log

2. Dump der aktuellen mb223-DB mit pg_dump aus dem Terminal erstellen (nur Daten)

pg_dump -U Benutzer -a -O -D mb223 > /.../mapbender243/resources/dev/mb223_daten.sql

3. Deaktivierung / Aktivierung der Fremdschlüssel

An den Anfang der Datei ist einzufügen:
UPDATE pg_catalog.pg_class SET reltriggers = 0;

An das Ende der Datei ist einzufügen:
UPDATE pg_catalog.pg_class SET reltriggers = (SELECT pg_catalog.count(*) FROM pg_catalog.pg_trigger where pg_class.oid = tgrelid)

Wichtig: In mapbender 223 wurden doppelte Einträge in die tabelle wms_srs geschrieben. Diese müssen entfernt werden!

4. Einladen des Dumps in die unter (1) erstellte neue DB:

psql -U Benutzer -f /.../mapbender243/resources/dev/ mb223_daten.sql mb243 &> mb243.log

5. Ergänzen der fehlenden Standard-GUIs: „gui2“, „gui_digitize“, „admin_de_services“ und „admin_en_services“. Prüfen der Änderungen ab dem Release 2.2.3 (http://www.mapbender.org/index.php/Dbchanges)

psql -U Benutzer mb243
INSERT INTO gui (gui_id, gui_name, gui_description, gui_public) VALUES ('gui2','gui2','client element collection',1);
INSERT INTO gui (gui_id, gui_name, gui_description, gui_public) VALUES ('gui_digitize','gui_digitize', 'new gui for digitizing',1);
INSERT INTO gui_mb_user (fkey_gui_id, fkey_mb_user_id, mb_user_type) VALUES ('gui2', 1, 'owner');
INSERT INTO gui_mb_user (fkey_gui_id, fkey_mb_user_id, mb_user_type) VALUES ('gui_digitize', 1, 'owner');

6. Update der Standard-GUIs (iso oder utf8) durch Einlesen des entsprechenden Skripts aus der Version 2.4.3:

psql -U Benutzer -f /.../mapbender243/resources/dev/ update_2.4.3/update_guis_iso.sql mb243 &> mb243_gui.log

7. Datenbank ggf. von überflüssigen Daten befreien und cleaning-Skripte durchlaufen lassen (s. http://www.mapbender.org/index.php/Database-cleaning-script)

DELETE FROM layer WHERE NOT EXISTS (SELECT * FROM wms WHERE layer.fkey_wms_id = wms.wms_id); 
DELETE FROM layer_epsg WHERE NOT EXISTS (SELECT * FROM layer WHERE layer_epsg.fkey_layer_id = layer.layer_id); 
DELETE FROM gui_element_vars WHERE NOT EXISTS (SELECT * FROM gui_element WHERE (gui_element_vars.fkey_gui_id =  gui_element.fkey_gui_id) AND (gui_element_vars.fkey_e_id = gui_element.e_id )); 
DELETE FROM layer_style WHERE NOT EXISTS (SELECT * FROM layer WHERE layer_style.fkey_layer_id = layer.layer_id); 
DELETE FROM gui_layer WHERE NOT EXISTS (SELECT * FROM layer WHERE gui_layer.fkey_layer_id = layer.layer_id); 
DELETE FROM wms_format WHERE NOT EXISTS (SELECT * FROM wms WHERE wms_format.fkey_wms_id = wms.wms_id); 
DELETE FROM wms_srs WHERE NOT EXISTS (SELECT * FROM wms WHERE wms_srs.fkey_wms_id = wms.wms_id);

8. Prüfen: Funktioniert die Anmeldung noch? Evtl. „password“ über md5 setzen:

UPDATE mb_user set mb_user_password = md5('root') where mb_user_name = 'root'

9. Berechtigungen für die neuen Standard-GUIs hinzufügen sowie „gui2“ und „gui_digitize“ mit WMS-Diensten füllen

INSERT INTO gui (gui_id, gui_name, gui_description, gui_public) VALUES ('gui2','gui2','client element collection',1);
INSERT INTO gui (gui_id, gui_name, gui_description, gui_public) VALUES ('gui_digitize','gui_digitize','new gui for digitizing',1);
INSERT INTO gui_mb_user (fkey_gui_id, fkey_mb_user_id, mb_user_type) VALUES ('gui2', 1, 'owner');
INSERT INTO gui_mb_user (fkey_gui_id, fkey_mb_user_id, mb_user_type) VALUES ('gui_digitize', 1, 'owner');

10. Überprüfung der Funktionsfähigkeit! WMS GUI Einstellungen überprüft werden, da einige Häckchen nicht gesetzt wurden.

11. Eigene Änderungen einfügen

Views
Personal tools