Skip to content

Commit 25ac353

Browse files
author
Luca Callocchia
committed
Merge branch 'fix-primary-keys' into 'master'
fix primary keys and results as dict See merge request openk9/connectors/database-datasource!3
2 parents 7c4ad0d + 446cf3e commit 25ac353

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

connector/app/database_api/data_extraction.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,13 @@ def extract_recent(self):
8989
with Session(engine) as session:
9090
metadata_obj = MetaData()
9191
table = Table(self.table, metadata_obj, autoload_with=engine)
92+
primary_keys = [key.name for key in inspect(table).primary_key]
9293

9394
query = session.query()
9495

9596
if self.columns:
97+
for primary_key in primary_keys:
98+
self.columns.append(primary_key)
9699
query = query.add_columns(*[table.c[e] for e in self.columns])
97100
else:
98101
query = query.add_columns(*table.c)
@@ -101,8 +104,8 @@ def extract_recent(self):
101104
query = query.where(text(self.where))
102105

103106
results = session.execute(query)
104-
primary_keys = [key.name for key in inspect(table).primary_key()]
105-
self.manage_data(results, primary_keys)
107+
results_as_dict = results.mappings().all()
108+
self.manage_data(results_as_dict, primary_keys)
106109

107110
except requests.RequestException:
108111
self.status_logger.error("No row extracted. Extraction process aborted.")

0 commit comments

Comments
 (0)