From ac5e103aeb7b241b1947307909d428efe9556f80 Mon Sep 17 00:00:00 2001 From: philipp-c Date: Fri, 27 Feb 2026 18:27:05 +0100 Subject: [PATCH 1/4] Add market_actors_and_roles table and update mappings in ORM --- open_mastr/utils/constants.py | 6 ++++-- open_mastr/utils/orm.py | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/open_mastr/utils/constants.py b/open_mastr/utils/constants.py index 490ec294..9088370f 100644 --- a/open_mastr/utils/constants.py +++ b/open_mastr/utils/constants.py @@ -49,6 +49,7 @@ "locations_extended", "market_actors", "market_roles", + "market_actors_and_roles", "permit", "deleted_units", "deleted_market_actors", @@ -87,7 +88,7 @@ ], "electricity_consumer": ["einheitenstromverbraucher"], "location": ["lokationen"], - "market": ["marktakteure", "marktrollen"], + "market": ["marktakteure", "marktrollen", "marktakteureundrollen"], "grid": ["netzanschlusspunkte", "netze"], "balancing_area": ["bilanzierungsgebiete"], "permit": ["einheitengenehmigung"], @@ -107,7 +108,7 @@ ], "electricity_consumer": ["electricity_consumer"], "location": ["locations_extended"], - "market": ["market_actors", "market_roles"], + "market": ["market_actors", "market_roles", "market_actors_and_roles"], "grid": ["grid_connections", "grids"], "balancing_area": ["balancing_area"], "permit": ["permit"], @@ -165,6 +166,7 @@ "locations_extended": "LocationExtended", "market_actors": "MarketActors", "market_roles": "MarketRoles", + "market_actors_and_roles": "MarketActorsAndRoles", "grid_connections": "GridConnections", "grids": "Grids", "balancing_area": "BalancingArea", diff --git a/open_mastr/utils/orm.py b/open_mastr/utils/orm.py index 70890ecb..5aa94a41 100644 --- a/open_mastr/utils/orm.py +++ b/open_mastr/utils/orm.py @@ -626,6 +626,20 @@ class MarketRoles(ParentAllTables, Base): DatumLetzteAktualisierung = Column(DateTime(timezone=True)) +class MarketActorsAndRoles(ParentAllTables, Base): + __tablename__ = "market_actors_and_roles" + + MastrNummer = Column(String, primary_key=True) + MarktakteurMastrNummer = Column(String) + Marktrolle = Column(String) + Marktpartneridentifikationsnummer_nv = Column(Boolean) + BundesnetzagenturBetriebsnummer = Column(String) + BundesnetzagenturBetriebsnummer_nv = Column(Boolean) + Marktpartneridentifikationsnummer = Column(String) + KontaktdatenMarktrolle = Column(String) + DatumLetzteAktualisierung = Column(DateTime(timezone=True)) + + class MarketActors(ParentAllTables, Base): __tablename__ = "market_actors" @@ -987,6 +1001,11 @@ class ChangedDSOAssignment(ParentAllTables, Base): "__class__": MarketActors, "replace_column_names": None, }, + "marktakteureundrollen": { + "__name__": MarketActorsAndRoles.__tablename__, + "__class__": MarketActorsAndRoles, + "replace_column_names": None, + }, "netze": { "__name__": Grids.__tablename__, "__class__": Grids, From ffd7126ce9116ec941ff740b621fa8360dd2886a Mon Sep 17 00:00:00 2001 From: philipp-c Date: Mon, 2 Mar 2026 23:51:33 +0100 Subject: [PATCH 2/4] Remove Marktrollen as per review feedback --- CHANGELOG.md | 2 ++ open_mastr/utils/constants.py | 4 ++-- open_mastr/utils/orm.py | 19 ------------------- 3 files changed, 4 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8d646f7..1a4d7c73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ and the versioning aims to respect [Semantic Versioning](http://semver.org/spec/ - Update list for english column translation [#715](https://github.com/OpenEnergyPlatform/open-MaStR/pull/715) ### Changed +- Replace Marktrollen with MarktakteureUndRollen + [#722](https://github.com/OpenEnergyPlatform/open-MaStR/pull/722) ### Removed diff --git a/open_mastr/utils/constants.py b/open_mastr/utils/constants.py index 9088370f..5059df5b 100644 --- a/open_mastr/utils/constants.py +++ b/open_mastr/utils/constants.py @@ -88,7 +88,7 @@ ], "electricity_consumer": ["einheitenstromverbraucher"], "location": ["lokationen"], - "market": ["marktakteure", "marktrollen", "marktakteureundrollen"], + "market": ["marktakteure", "marktakteureundrollen"], "grid": ["netzanschlusspunkte", "netze"], "balancing_area": ["bilanzierungsgebiete"], "permit": ["einheitengenehmigung"], @@ -108,7 +108,7 @@ ], "electricity_consumer": ["electricity_consumer"], "location": ["locations_extended"], - "market": ["market_actors", "market_roles", "market_actors_and_roles"], + "market": ["market_actors", "market_actors_and_roles"], "grid": ["grid_connections", "grids"], "balancing_area": ["balancing_area"], "permit": ["permit"], diff --git a/open_mastr/utils/orm.py b/open_mastr/utils/orm.py index 5aa94a41..3d4c9f19 100644 --- a/open_mastr/utils/orm.py +++ b/open_mastr/utils/orm.py @@ -612,20 +612,6 @@ class ElectricityConsumer(ParentAllTables, Base): GeplantesInbetriebnahmedatum = Column(Date) -class MarketRoles(ParentAllTables, Base): - __tablename__ = "market_roles" - - MastrNummer = Column(String, primary_key=True) - MarktakteurMastrNummer = Column(String) - Marktrolle = Column(String) - Marktpartneridentifikationsnummer_nv = Column(Boolean) - BundesnetzagenturBetriebsnummer = Column(String) - BundesnetzagenturBetriebsnummer_nv = Column(Boolean) - Marktpartneridentifikationsnummer = Column(String) - KontaktdatenMarktrolle = Column(String) - DatumLetzteAktualisierung = Column(DateTime(timezone=True)) - - class MarketActorsAndRoles(ParentAllTables, Base): __tablename__ = "market_actors_and_roles" @@ -991,11 +977,6 @@ class ChangedDSOAssignment(ParentAllTables, Base): "__class__": DeletedMarketActors, "replace_column_names": None, }, - "marktrollen": { - "__name__": MarketRoles.__tablename__, - "__class__": MarketRoles, - "replace_column_names": None, - }, "marktakteure": { "__name__": MarketActors.__tablename__, "__class__": MarketActors, From c57a8ffc29275f6704ecaa5ae72658f0318f5929 Mon Sep 17 00:00:00 2001 From: philipp-c Date: Tue, 3 Mar 2026 09:00:08 +0100 Subject: [PATCH 3/4] Update dataset documentation to rename 'market_roles' to 'market_actors_and_roles' --- docs/dataset.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dataset.md b/docs/dataset.md index 772395bf..3cf4a0af 100644 --- a/docs/dataset.md +++ b/docs/dataset.md @@ -77,7 +77,7 @@ After downloading the MaStR, you will find a database with a large number of tab | grids | *Does not contain geoinformation* | | locations_extended | *Connects units with grids - to get coordinates of units use the _extended tables*| | market_actors | | - | market_roles | | + | market_actors_and_roles | | | permit | | | storage_units | | | kwk | *short for: Combined heat and power (CHP)* | From bc7a8a193fc7b6189421a82f26a0d17b3d466225 Mon Sep 17 00:00:00 2001 From: philipp-c Date: Tue, 3 Mar 2026 11:33:41 +0100 Subject: [PATCH 4/4] Update references from 'market_roles' to 'market_actors_and_roles' in test helpers and updated docstring in Mastr class --- open_mastr/mastr.py | 2 +- tests/test_helpers.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/open_mastr/mastr.py b/open_mastr/mastr.py index c45ad4be..a6588c4f 100644 --- a/open_mastr/mastr.py +++ b/open_mastr/mastr.py @@ -270,7 +270,7 @@ def to_csv( ["wind", "solar", "biomass", "hydro", "gsgk", "combustion", "nuclear", "storage", "balancing_area", "electricity_consumer", "gas_consumer", "gas_producer", "gas_storage", "gas_storage_extended", - "grid_connections", "grids", "market_actors", "market_roles", + "grid_connections", "grids", "market_actors", "market_actors_and_roles", "locations_extended", "permit", "deleted_units", "storage_units"] chunksize: int Defines the chunksize of the tables export. diff --git a/tests/test_helpers.py b/tests/test_helpers.py index 5f8cfa81..df9de681 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -153,7 +153,7 @@ def test_data_to_include_tables(): ] include_tables_str = ["einheitenstromverbraucher"] - map_to_db_table_list = ["market_actors", "market_roles"] + map_to_db_table_list = ["market_actors", "market_actors_and_roles"] map_to_db_table_str = ["locations_extended"] # Assert