Update mapbender 2.2.3 to 2.4.3
From MapbenderWiki
Contents |
English
- see also Installation en and Update_Mapbender
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
