Skip to content

Instantly share code, notes, and snippets.

@helllth
Created September 13, 2012 15:14
Show Gist options
  • Save helllth/3714997 to your computer and use it in GitHub Desktop.
Save helllth/3714997 to your computer and use it in GitHub Desktop.
1:n Migration GUP_Unterhaltungsmassnahme
--nach Umstellung der Klassen (ABF) müssen noch diese Anpassungen (sync) gemacht werden
BEGIN WORK;
-- Legt eine neue Sequenz mit dem Namen "gup_massnahmenbezug_seq" an und startet bei dem Wert "1".
CREATE SEQUENCE gup_massnahmenbezug_seq MINVALUE 1 START 1;
CREATE TABLE gup_massnahmenbezug( id INTEGER PRIMARY KEY DEFAULT nextval('gup_massnahmenbezug_seq'), ort VARCHAR(32) NULL );
COMMIT WORK;
-- Löscht die Spalte "gup_massnahmen_ufer_links" aus der Tabelle "gup_planungsabschnitt".
ALTER TABLE gup_planungsabschnitt DROP COLUMN gup_massnahmen_ufer_links;
-- Löscht die Spalte "gup_massnahmen_umfeld_links" aus der Tabelle "gup_planungsabschnitt".
ALTER TABLE gup_planungsabschnitt DROP COLUMN gup_massnahmen_umfeld_links;
-- Fügt die Spalte "wo" mit dem Typ "INTEGER" zur Tabelle "gup_unterhaltungsmassnahme" hinzu.
ALTER TABLE gup_unterhaltungsmassnahme ADD COLUMN wo INTEGER;
-- Löscht die Spalte "gup_massnahmen_ufer_rechts" aus der Tabelle "gup_planungsabschnitt".
ALTER TABLE gup_planungsabschnitt DROP COLUMN gup_massnahmen_ufer_rechts;
-- Löscht die Spalte "gup_massnahmen_sohle" aus der Tabelle "gup_planungsabschnitt".
ALTER TABLE gup_planungsabschnitt DROP COLUMN gup_massnahmen_sohle;
-- Löscht die Spalte "gup_massnahmen_umfeld_rechts" aus der Tabelle "gup_planungsabschnitt".
ALTER TABLE gup_planungsabschnitt DROP COLUMN gup_massnahmen_umfeld_rechts;
-- Löscht die Spalte "gup_massnahmen_umfeld_links" aus der Tabelle "gup_planungsabschnitt".
ALTER TABLE gup_planungsabschnitt DROP COLUMN gup_massnahmen_umfeld_links;
-- Fügt die Spalte "wo" mit dem Typ "INTEGER" zur Tabelle "gup_unterhaltungsmassnahme" hinzu.
ALTER TABLE gup_unterhaltungsmassnahme ADD COLUMN wo INTEGER;
--
ALTER TABLE gup_unterhaltungsmassnahme ADD COLUMN planungsabschnitt INTEGER;
--- massnahmenbezug füllen
INSERT INTO gup_massnahmenbezug (ort)
VALUES ('Ufer rechts')
INSERT INTO gup_massnahmenbezug (ort)
VALUES ('Ufer links')
INSERT INTO gup_massnahmenbezug (ort)
VALUES ('Umfeld links')
INSERT INTO gup_massnahmenbezug (ort)
VALUES ('Umfeld rechts')
INSERT INTO gup_massnahmenbezug (ort)
VALUES ('Sohle')
---- updates erzeugen
select execute('update gup_unterhaltungsmassnahme set planungsabschnitt='||gup_gewaesser_reference||' , wo=1 where id='|| massnahme_ufer ),* from gup_gewaesserabschnitt_massnahme_ufer_rechts
select execute('update gup_unterhaltungsmassnahme set planungsabschnitt='||gup_gewaesser_reference||' , wo=2 where id='|| massnahme_ufer ),* from gup_gewaesserabschnitt_massnahme_ufer_links
select execute('update gup_unterhaltungsmassnahme set planungsabschnitt='||gup_gewaesser_reference||' , wo=3 where id='|| massnahme_umfeld ),* from gup_gewaesserabschnitt_massnahme_umfeld_links
select execute('update gup_unterhaltungsmassnahme set planungsabschnitt='||gup_gewaesser_reference||' , wo=4 where id='|| massnahme_umfeld ),* from gup_gewaesserabschnitt_massnahme_umfeld_rechts
select execute('update gup_unterhaltungsmassnahme set planungsabschnitt='||gup_gewaesser_reference||' , wo=5 where id='|| massnahme_sohle ),* from gup_gewaesserabschnitt_massnahme_sohle
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment