From 249443b7646b7b194caf7564eb72548285e0d7e7 Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Thu, 10 Oct 2024 13:27:40 -0500 Subject: [PATCH] Add feature to upload missing column values as NULL --- src/pgwui_upload/pgwui_upload.py | 3 +++ src/pgwui_upload/views/upload.py | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pgwui_upload/pgwui_upload.py b/src/pgwui_upload/pgwui_upload.py index 8bad137..aeffb78 100644 --- a/src/pgwui_upload/pgwui_upload.py +++ b/src/pgwui_upload/pgwui_upload.py @@ -29,6 +29,7 @@ DEFAULT_LITERAL_COLUMN_HEADINGS = 'no-never' DEFAULT_TRIM = 'choice-yes' DEFAULT_NULL = 'choice-yes' DEFAULT_FILE_FORMAT = 'csv' +DEFAULT_ADD_MISSING_COLUMNS = 'no-never' def establish_settings(config): @@ -48,6 +49,8 @@ def establish_settings(config): 'null', DEFAULT_NULL) upload_settings.setdefault( 'file_format', DEFAULT_FILE_FORMAT) + upload_settings.setdefault( + 'add_missing_columns', DEFAULT_ADD_MISSING_COLUMNS) def includeme(config): diff --git a/src/pgwui_upload/views/upload.py b/src/pgwui_upload/views/upload.py index a04993d..546ef74 100644 --- a/src/pgwui_upload/views/upload.py +++ b/src/pgwui_upload/views/upload.py @@ -68,6 +68,7 @@ class SaveLine(DataLineProcessor, ParameterExecutor): ''' super().__init__(ue, uh) self.insert_stmt = insert_stmt + self.add_missing_columns = uh.uf['add_missing_columns'] def eat(self, udl): ''' @@ -75,7 +76,8 @@ class SaveLine(DataLineProcessor, ParameterExecutor): udl An UploadDataLine instance ''' - match_insert_to_dataline(udl, self.insert_stmt) + match_insert_to_dataline( + udl, self.insert_stmt, self.add_missing_columns) self.param_execute(self.insert_stmt.stmt, udl) -- 2.34.1