From f2d514f5d19a9fd28d1603d201ca1d95a4bdb179 Mon Sep 17 00:00:00 2001 From: Damiano Lombardi Date: Thu, 18 Jul 2024 18:17:26 +0200 Subject: [PATCH 1/4] Explicit column name for t_basket --- .../model_interlis_sia405_abwasser.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_sia405_abwasser.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_sia405_abwasser.py index 550d2a5cc..ef89c1066 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_sia405_abwasser.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_sia405_abwasser.py @@ -1,3 +1,5 @@ +from sqlalchemy import Column, Integer + from .. import config from .model_base import ModelBase @@ -15,132 +17,154 @@ class baseclass(self.Base): class sia405_baseclass(baseclass): __tablename__ = "sia405_baseclass" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_sia405_baseclass = Column("t_basket", Integer) ModelInterlisSia405Abwasser.sia405_baseclass = sia405_baseclass class vsa_baseclass(sia405_baseclass): __tablename__ = "vsa_baseclass" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_vsa_baseclass = Column("t_basket", Integer) ModelInterlisSia405Abwasser.vsa_baseclass = vsa_baseclass class organisation(sia405_baseclass): __tablename__ = "organisation" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_organisation = Column("t_basket", Integer) ModelInterlisSia405Abwasser.organisation = organisation class abwasserbauwerk(vsa_baseclass): __tablename__ = "abwasserbauwerk" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_abwasserbauwerk = Column("t_basket", Integer) ModelInterlisSia405Abwasser.abwasserbauwerk = abwasserbauwerk class kanal(abwasserbauwerk): __tablename__ = "kanal" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_kanal = Column("t_basket", Integer) ModelInterlisSia405Abwasser.kanal = kanal class normschacht(abwasserbauwerk): __tablename__ = "normschacht" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_normschacht = Column("t_basket", Integer) ModelInterlisSia405Abwasser.normschacht = normschacht class einleitstelle(abwasserbauwerk): __tablename__ = "einleitstelle" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_einleitstelle = Column("t_basket", Integer) ModelInterlisSia405Abwasser.einleitstelle = einleitstelle class spezialbauwerk(abwasserbauwerk): __tablename__ = "spezialbauwerk" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_spezialbauwerk = Column("t_basket", Integer) ModelInterlisSia405Abwasser.spezialbauwerk = spezialbauwerk class versickerungsanlage(abwasserbauwerk): __tablename__ = "versickerungsanlage" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_versickerungsanlage = Column("t_basket", Integer) ModelInterlisSia405Abwasser.versickerungsanlage = versickerungsanlage class rohrprofil(vsa_baseclass): __tablename__ = "rohrprofil" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_rohrprofil = Column("t_basket", Integer) ModelInterlisSia405Abwasser.rohrprofil = rohrprofil class abwassernetzelement(vsa_baseclass): __tablename__ = "abwassernetzelement" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_abwassernetzelement = Column("t_basket", Integer) ModelInterlisSia405Abwasser.abwassernetzelement = abwassernetzelement class haltungspunkt(vsa_baseclass): __tablename__ = "haltungspunkt" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_haltungspunkt = Column("t_basket", Integer) ModelInterlisSia405Abwasser.haltungspunkt = haltungspunkt class abwasserknoten(abwassernetzelement): __tablename__ = "abwasserknoten" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_abwasserknoten = Column("t_basket", Integer) ModelInterlisSia405Abwasser.abwasserknoten = abwasserknoten class haltung(abwassernetzelement): __tablename__ = "haltung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_haltung = Column("t_basket", Integer) ModelInterlisSia405Abwasser.haltung = haltung class haltung_alternativverlauf(baseclass): __tablename__ = "haltung_alternativverlauf" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_haltung_alternativverlauf = Column("t_basket", Integer) ModelInterlisSia405Abwasser.haltung_alternativverlauf = haltung_alternativverlauf class bauwerksteil(vsa_baseclass): __tablename__ = "bauwerksteil" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_bauwerksteil = Column("t_basket", Integer) ModelInterlisSia405Abwasser.bauwerksteil = bauwerksteil class trockenwetterfallrohr(bauwerksteil): __tablename__ = "trockenwetterfallrohr" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_trockenwetterfallrohr = Column("t_basket", Integer) ModelInterlisSia405Abwasser.trockenwetterfallrohr = trockenwetterfallrohr class einstiegshilfe(bauwerksteil): __tablename__ = "einstiegshilfe" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_einstiegshilfe = Column("t_basket", Integer) ModelInterlisSia405Abwasser.einstiegshilfe = einstiegshilfe class trockenwetterrinne(bauwerksteil): __tablename__ = "trockenwetterrinne" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_trockenwetterrinne = Column("t_basket", Integer) ModelInterlisSia405Abwasser.trockenwetterrinne = trockenwetterrinne class deckel(bauwerksteil): __tablename__ = "deckel" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_deckel = Column("t_basket", Integer) ModelInterlisSia405Abwasser.deckel = deckel class bankett(bauwerksteil): __tablename__ = "bankett" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_bankett = Column("t_basket", Integer) ModelInterlisSia405Abwasser.bankett = bankett class spuelstutzen(bauwerksteil): __tablename__ = "spuelstutzen" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_spuelstutzen = Column("t_basket", Integer) ModelInterlisSia405Abwasser.spuelstutzen = spuelstutzen @@ -149,24 +173,28 @@ class spuelstutzen(bauwerksteil): class textpos(baseclass): __tablename__ = "textpos" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_textpos = Column("t_basket", Integer) ModelInterlisSia405Abwasser.textpos = textpos class sia405_textpos(textpos): __tablename__ = "sia405_textpos" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_sia405_textpos = Column("t_basket", Integer) ModelInterlisSia405Abwasser.sia405_textpos = sia405_textpos class haltung_text(sia405_textpos): __tablename__ = "haltung_text" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_haltung_text = Column("t_basket", Integer) ModelInterlisSia405Abwasser.haltung_text = haltung_text class abwasserbauwerk_text(sia405_textpos): __tablename__ = "abwasserbauwerk_text" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_abwasserbauwerk_text = Column("t_basket", Integer) ModelInterlisSia405Abwasser.abwasserbauwerk_text = abwasserbauwerk_text From 154ec4857681c735ee00462ade95d6b8883ee2b1 Mon Sep 17 00:00:00 2001 From: Damiano Lombardi Date: Mon, 29 Jul 2024 10:38:26 +0200 Subject: [PATCH 2/4] More explicit named basket columns --- .../model_interlis_dss.py | 57 +++++++++++++++++++ .../model_interlis_vsa_kek.py | 9 +++ 2 files changed, 66 insertions(+) diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_dss.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_dss.py index a8a8672e4..a8b1557fe 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_dss.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_dss.py @@ -1,3 +1,5 @@ +from sqlalchemy import Column, Integer + from .. import config from .model_interlis_sia405_abwasser import ModelInterlisSia405Abwasser @@ -9,330 +11,385 @@ def __init__(self): class anschlussobjekt(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "anschlussobjekt" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_anschlussobjekt = Column("t_basket", Integer) ModelInterlisDss.anschlussobjekt = anschlussobjekt class erhaltungsereignis(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "erhaltungsereignis" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_erhaltungsereignis = Column("t_basket", Integer) ModelInterlisDss.erhaltungsereignis = erhaltungsereignis class oberflaechenabflussparameter(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "oberflaechenabflussparameter" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_oberflaechenabflussparameter = Column("t_basket", Integer) ModelInterlisDss.oberflaechenabflussparameter = oberflaechenabflussparameter class ueberlauf(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "ueberlauf" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_ueberlauf = Column("t_basket", Integer) ModelInterlisDss.ueberlauf = ueberlauf class zone(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "azone" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_azone = Column("t_basket", Integer) ModelInterlisDss.zone = zone class abwasserreinigungsanlage(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "abwasserreinigungsanlage" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_abwasserreinigungsanlage = Column("t_basket", Integer) ModelInterlisDss.abwasserreinigungsanlage = abwasserreinigungsanlage class araenergienutzung(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "araenergienutzung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_araenergienutzung = Column("t_basket", Integer) ModelInterlisDss.araenergienutzung = araenergienutzung class abwasserbehandlung(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "abwasserbehandlung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_abwasserbehandlung = Column("t_basket", Integer) ModelInterlisDss.abwasserbehandlung = abwasserbehandlung class schlammbehandlung(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "schlammbehandlung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_schlammbehandlung = Column("t_basket", Integer) ModelInterlisDss.schlammbehandlung = schlammbehandlung class arabauwerk(ModelInterlisSia405Abwasser.abwasserbauwerk): __tablename__ = "arabauwerk" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_arabauwerk = Column("t_basket", Integer) ModelInterlisDss.arabauwerk = arabauwerk class steuerungszentrale(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "steuerungszentrale" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_steuerungszentrale = Column("t_basket", Integer) ModelInterlisDss.steuerungszentrale = steuerungszentrale class abflusslose_toilette(ModelInterlisSia405Abwasser.abwasserbauwerk): __tablename__ = "abflusslose_toilette" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_abflusslose_toilette = Column("t_basket", Integer) ModelInterlisDss.abflusslose_toilette = abflusslose_toilette class absperr_drosselorgan(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "absperr_drosselorgan" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_absperr_drosselorgan = Column("t_basket", Integer) ModelInterlisDss.absperr_drosselorgan = absperr_drosselorgan class beckenentleerung(ModelInterlisSia405Abwasser.bauwerksteil): __tablename__ = "beckenentleerung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_beckenentleerung = Column("t_basket", Integer) ModelInterlisDss.beckenentleerung = beckenentleerung class beckenreinigung(ModelInterlisSia405Abwasser.bauwerksteil): __tablename__ = "beckenreinigung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_beckenreinigung = Column("t_basket", Integer) ModelInterlisDss.beckenreinigung = beckenreinigung class biol_oekol_gesamtbeurteilung(erhaltungsereignis): __tablename__ = "biol_oekol_gesamtbeurteilung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_biol_oekol_gesamtbeurteilung = Column("t_basket", Integer) ModelInterlisDss.biol_oekol_gesamtbeurteilung = biol_oekol_gesamtbeurteilung class brunnen(anschlussobjekt): __tablename__ = "brunnen" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_brunnen = Column("t_basket", Integer) ModelInterlisDss.brunnen = brunnen class ezg_parameter_allg(oberflaechenabflussparameter): __tablename__ = "ezg_parameter_allg" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_ezg_parameter_allg = Column("t_basket", Integer) ModelInterlisDss.ezg_parameter_allg = ezg_parameter_allg class ezg_parameter_mouse1(oberflaechenabflussparameter): __tablename__ = "ezg_parameter_mouse1" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_ezg_parameter_mouse1 = Column("t_basket", Integer) ModelInterlisDss.ezg_parameter_mouse1 = ezg_parameter_mouse1 class einzelflaeche(anschlussobjekt): __tablename__ = "einzelflaeche" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_einzelflaeche = Column("t_basket", Integer) ModelInterlisDss.einzelflaeche = einzelflaeche class einzugsgebiet(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "einzugsgebiet" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_einzugsgebiet = Column("t_basket", Integer) ModelInterlisDss.einzugsgebiet = einzugsgebiet class einzugsgebiet_text(ModelInterlisSia405Abwasser.sia405_textpos): __tablename__ = "einzugsgebiet_text" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_einzugsgebiet_text = Column("t_basket", Integer) ModelInterlisDss.einzugsgebiet_text = einzugsgebiet_text class elektrischeeinrichtung(ModelInterlisSia405Abwasser.bauwerksteil): __tablename__ = "elektrischeeinrichtung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_elektrischeeinrichtung = Column("t_basket", Integer) ModelInterlisDss.elektrischeeinrichtung = elektrischeeinrichtung class elektromechanischeausruestung(ModelInterlisSia405Abwasser.bauwerksteil): __tablename__ = "elektromechanischeausruestung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_elektromechanischeausruestung = Column("t_basket", Integer) ModelInterlisDss.elektromechanischeausruestung = elektromechanischeausruestung class entsorgung(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "entsorgung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_entsorgung = Column("t_basket", Integer) ModelInterlisDss.entsorgung = entsorgung class entwaesserungssystem(zone): __tablename__ = "entwaesserungssystem" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_entwaesserungssystem = Column("t_basket", Integer) ModelInterlisDss.entwaesserungssystem = entwaesserungssystem class feststoffrueckhalt(ModelInterlisSia405Abwasser.bauwerksteil): __tablename__ = "feststoffrueckhalt" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_feststoffrueckhalt = Column("t_basket", Integer) ModelInterlisDss.feststoffrueckhalt = feststoffrueckhalt class foerderaggregat(ueberlauf): __tablename__ = "foerderaggregat" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_foerderaggregat = Column("t_basket", Integer) ModelInterlisDss.foerderaggregat = foerderaggregat class gebaeude(anschlussobjekt): __tablename__ = "gebaeude" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_gebaeude = Column("t_basket", Integer) ModelInterlisDss.gebaeude = gebaeude class gebaeudegruppe(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "gebaeudegruppe" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_gebaeudegruppe = Column("t_basket", Integer) ModelInterlisDss.gebaeudegruppe = gebaeudegruppe class gebaeudegruppe_baugwr(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "gebaeudegruppe_baugwr" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_gebaeudegruppe_baugwr = Column("t_basket", Integer) ModelInterlisDss.gebaeudegruppe_baugwr = gebaeudegruppe_baugwr class gesamteinzugsgebiet(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "gesamteinzugsgebiet" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_gesamteinzugsgebiet = Column("t_basket", Integer) ModelInterlisDss.gesamteinzugsgebiet = gesamteinzugsgebiet class hq_relation(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "hq_relation" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_hq_relation = Column("t_basket", Integer) ModelInterlisDss.hq_relation = hq_relation class hydr_geomrelation(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "hydr_geomrelation" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_hydr_geomrelation = Column("t_basket", Integer) ModelInterlisDss.hydr_geomrelation = hydr_geomrelation class hydr_geometrie(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "hydr_geometrie" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_hydr_geometrie = Column("t_basket", Integer) ModelInterlisDss.hydr_geometrie = hydr_geometrie class hydr_kennwerte(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "hydr_kennwerte" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_hydr_kennwerte = Column("t_basket", Integer) ModelInterlisDss.hydr_kennwerte = hydr_kennwerte class klara(ModelInterlisSia405Abwasser.abwasserbauwerk): __tablename__ = "klara" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_klara = Column("t_basket", Integer) ModelInterlisDss.klara = klara class landwirtschaftsbetrieb(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "landwirtschaftsbetrieb" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_landwirtschaftsbetrieb = Column("t_basket", Integer) ModelInterlisDss.landwirtschaftsbetrieb = landwirtschaftsbetrieb class leapingwehr(ueberlauf): __tablename__ = "leapingwehr" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_leapingwehr = Column("t_basket", Integer) ModelInterlisDss.leapingwehr = leapingwehr class massnahme(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "massnahme" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_massnahme = Column("t_basket", Integer) ModelInterlisDss.massnahme = massnahme class mechanischevorreinigung(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "mechanischevorreinigung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_mechanischevorreinigung = Column("t_basket", Integer) ModelInterlisDss.mechanischevorreinigung = mechanischevorreinigung class messgeraet(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "messgeraet" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_messgeraet = Column("t_basket", Integer) ModelInterlisDss.messgeraet = messgeraet class messreihe(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "messreihe" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_messreihe = Column("t_basket", Integer) ModelInterlisDss.messreihe = messreihe class messresultat(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "messresultat" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_messresultat = Column("t_basket", Integer) ModelInterlisDss.messresultat = messresultat class messstelle(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "messstelle" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_messstelle = Column("t_basket", Integer) ModelInterlisDss.messstelle = messstelle class mutation(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "mutation" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_mutation = Column("t_basket", Integer) ModelInterlisDss.mutation = mutation class reservoir(anschlussobjekt): __tablename__ = "reservoir" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_reservoir = Column("t_basket", Integer) ModelInterlisDss.reservoir = reservoir class retentionskoerper(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "retentionskoerper" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_retentionskoerper = Column("t_basket", Integer) ModelInterlisDss.retentionskoerper = retentionskoerper class rohrprofil_geometrie(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "rohrprofil_geometrie" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_rohrprofil_geometrie = Column("t_basket", Integer) ModelInterlisDss.rohrprofil_geometrie = rohrprofil_geometrie class rueckstausicherung(ModelInterlisSia405Abwasser.bauwerksteil): __tablename__ = "rueckstausicherung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_rueckstausicherung = Column("t_basket", Integer) ModelInterlisDss.rueckstausicherung = rueckstausicherung class stammkarte(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "stammkarte" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_stammkarte = Column("t_basket", Integer) ModelInterlisDss.stammkarte = stammkarte class streichwehr(ueberlauf): __tablename__ = "streichwehr" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_streichwehr = Column("t_basket", Integer) ModelInterlisDss.streichwehr = streichwehr class ueberlaufcharakteristik(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "ueberlaufcharakteristik" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_ueberlaufcharakteristik = Column("t_basket", Integer) ModelInterlisDss.ueberlaufcharakteristik = ueberlaufcharakteristik class unterhalt(erhaltungsereignis): __tablename__ = "unterhalt" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_unterhalt = Column("t_basket", Integer) ModelInterlisDss.unterhalt = unterhalt class versickerungsbereich(zone): __tablename__ = "versickerungsbereich" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_versickerungsbereich = Column("t_basket", Integer) ModelInterlisDss.versickerungsbereich = versickerungsbereich diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_vsa_kek.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_vsa_kek.py index 767e74dad..503bbe1f9 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_vsa_kek.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_vsa_kek.py @@ -1,3 +1,5 @@ +from sqlalchemy import Column, Integer + from .. import config from .model_interlis_sia405_abwasser import ModelInterlisSia405Abwasser @@ -9,41 +11,48 @@ def __init__(self): class erhaltungsereignis(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "erhaltungsereignis" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_erhaltungsereignis = Column("t_basket", Integer) ModelInterlisVsaKek.erhaltungsereignis = erhaltungsereignis class untersuchung(ModelInterlisVsaKek.erhaltungsereignis): __tablename__ = "untersuchung" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_untersuchung = Column("t_basket", Integer) ModelInterlisVsaKek.untersuchung = untersuchung class schaden(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "schaden" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_schaden = Column("t_basket", Integer) ModelInterlisVsaKek.schaden = schaden class normschachtschaden(schaden): __tablename__ = "normschachtschaden" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_normschachtschaden = Column("t_basket", Integer) ModelInterlisVsaKek.normschachtschaden = normschachtschaden class kanalschaden(schaden): __tablename__ = "kanalschaden" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_kanalschaden = Column("t_basket", Integer) ModelInterlisVsaKek.kanalschaden = kanalschaden class datentraeger(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "datentraeger" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_datentraeger = Column("t_basket", Integer) ModelInterlisVsaKek.datentraeger = datentraeger class datei(ModelInterlisSia405Abwasser.vsa_baseclass): __tablename__ = "datei" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_datei = Column("t_basket", Integer) ModelInterlisVsaKek.datei = datei From a6543df61373f0e20917eb4407da204ac07c3cdc Mon Sep 17 00:00:00 2001 From: Damiano Lombardi Date: Mon, 29 Jul 2024 11:32:56 +0200 Subject: [PATCH 3/4] test for 405_baseclass --- .../interlis_exporter_to_intermediate_schema.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py index 28c9ae1cd..56d8ce349 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py @@ -2885,16 +2885,20 @@ def base_common(self, row, type_name): "t_type": type_name, "t_id": self.get_tid(row), } - if self.current_basket: - base["t_basket"] = self.current_basket.t_id + # if self.current_basket: + # base["t_basket"] = self.current_basket.t_id return base def sia_405_base_common(self, row, type_name): - return { + base = { **self.base_common(row, type_name), "letzte_aenderung": row.last_modification, } + if self.current_basket: + base["t_basket_sia405_baseclass"] = self.current_basket.t_id + + return base def vsa_base_common(self, row, type_name): """ From 6280ab172e6c9453cbc67926690ac7b7121a099b Mon Sep 17 00:00:00 2001 From: Damiano Lombardi Date: Mon, 29 Jul 2024 12:20:46 +0200 Subject: [PATCH 4/4] Same with baseclass --- .../interlis_exporter_to_intermediate_schema.py | 10 +++------- .../model_interlis_sia405_abwasser.py | 1 + 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py index 56d8ce349..24792d503 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py @@ -2885,20 +2885,16 @@ def base_common(self, row, type_name): "t_type": type_name, "t_id": self.get_tid(row), } - # if self.current_basket: - # base["t_basket"] = self.current_basket.t_id + if self.current_basket: + base["t_basket_baseclass"] = self.current_basket.t_id return base def sia_405_base_common(self, row, type_name): - base = { + return { **self.base_common(row, type_name), "letzte_aenderung": row.last_modification, } - if self.current_basket: - base["t_basket_sia405_baseclass"] = self.current_basket.t_id - - return base def vsa_base_common(self, row, type_name): """ diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_sia405_abwasser.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_sia405_abwasser.py index ef89c1066..e9677e56d 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_sia405_abwasser.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_interlis_sia405_abwasser.py @@ -11,6 +11,7 @@ def __init__(self): class baseclass(self.Base): __tablename__ = "baseclass" __table_args__ = {"schema": config.ABWASSER_SCHEMA} + t_basket_baseclass = Column("t_basket", Integer) ModelInterlisSia405Abwasser.baseclass = baseclass