Skip to content

Commit ba1aaf7

Browse files
authored
Merge pull request #13909 from SORMAS-Foundation/bugfix-13851-database-export
Fixes issue where database export was failing
2 parents 896c047 + 3ee183b commit ba1aaf7

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

sormas-backend/src/main/java/de/symeda/sormas/backend/importexport/DatabaseExportService.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@
4444
import de.symeda.sormas.api.importexport.DatabaseTable;
4545
import de.symeda.sormas.backend.action.Action;
4646
import de.symeda.sormas.backend.activityascase.ActivityAsCase;
47+
import de.symeda.sormas.backend.adverseeventsfollowingimmunization.entity.AdverseEvents;
48+
import de.symeda.sormas.backend.adverseeventsfollowingimmunization.entity.Aefi;
49+
import de.symeda.sormas.backend.adverseeventsfollowingimmunization.entity.AefiInvestigation;
4750
import de.symeda.sormas.backend.campaign.Campaign;
4851
import de.symeda.sormas.backend.campaign.data.CampaignFormData;
4952
import de.symeda.sormas.backend.campaign.diagram.CampaignDiagramDefinition;
@@ -120,15 +123,16 @@
120123

121124
/**
122125
* Exporting data directly from the PostgreSQL database with COPY commands as .csv files.
123-
*
126+
*
124127
* @author Stefan Kock
125128
*/
126129
@Stateless
127130
@LocalBean
128131
public class DatabaseExportService {
129132

130133
private static final String COPY_SINGLE_TABLE = "COPY (SELECT * FROM %s) TO STDOUT WITH (FORMAT CSV, DELIMITER '%s', HEADER)";
131-
public static final String COUNT_TABLE_COLUMNS = "SELECT COUNT(column_name) FROM information_schema.columns WHERE table_name=:tableName";
134+
public static final String COUNT_TABLE_COLUMNS =
135+
"SELECT COUNT(column_name) FROM information_schema.columns WHERE table_name=CAST(:tableName AS text)";
132136

133137
static final Map<DatabaseTable, String> EXPORT_CONFIGS = new LinkedHashMap<>();
134138

@@ -160,6 +164,9 @@ public class DatabaseExportService {
160164
EXPORT_CONFIGS.put(DatabaseTable.TRAVEL_ENTRIES, TravelEntry.TABLE_NAME);
161165
EXPORT_CONFIGS.put(DatabaseTable.IMMUNIZATIONS, Immunization.TABLE_NAME);
162166
EXPORT_CONFIGS.put(DatabaseTable.VACCINATIONS, Vaccination.TABLE_NAME);
167+
EXPORT_CONFIGS.put(DatabaseTable.ADVERSE_EVENTS_FOLLOWING_IMMUNIZATIONS, Aefi.TABLE_NAME);
168+
EXPORT_CONFIGS.put(DatabaseTable.ADVERSE_EVENTS_FOLLOWING_IMMUNIZATION_INVESTIGATIONS, AefiInvestigation.TABLE_NAME);
169+
EXPORT_CONFIGS.put(DatabaseTable.ADVERSE_EVENTS, AdverseEvents.TABLE_NAME);
163170
EXPORT_CONFIGS.put(DatabaseTable.SAMPLES, Sample.TABLE_NAME);
164171
EXPORT_CONFIGS.put(DatabaseTable.PATHOGEN_TESTS, PathogenTest.TABLE_NAME);
165172
EXPORT_CONFIGS.put(DatabaseTable.ADDITIONAL_TESTS, AdditionalTest.TABLE_NAME);
@@ -283,7 +290,7 @@ private void addDataRows(DatabaseTable databaseTable, String tableName, Writer w
283290

284291
/**
285292
* Run an export command and write the result directly into a Writer
286-
*
293+
*
287294
* @param writer
288295
* @param sql
289296
* Actual native sql command to copy data to CSV.

sormas-backend/src/test/java/de/symeda/sormas/backend/importexport/DatabaseExportServiceTest.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import com.tngtech.archunit.core.importer.ClassFileImporter;
2424

2525
import de.symeda.sormas.api.importexport.DatabaseTable;
26-
import de.symeda.sormas.backend.adverseeventsfollowingimmunization.entity.AdverseEvents;
2726
import de.symeda.sormas.backend.adverseeventsfollowingimmunization.entity.Aefi;
2827
import de.symeda.sormas.backend.adverseeventsfollowingimmunization.entity.AefiInvestigation;
2928
import de.symeda.sormas.backend.docgeneration.DocumentTemplate;
@@ -75,9 +74,6 @@ public void testGetConfigFullyDefined() {
7574
Environment.class,
7675
EnvironmentSample.class,
7776
SelfReport.class,
78-
Aefi.class,
79-
AdverseEvents.class,
80-
AefiInvestigation.class,
8177
DocumentTemplate.class,
8278
Survey.class,
8379
SurveyToken.class,

0 commit comments

Comments
 (0)