From bae47f4c4d64eb24e07413452e955e87b0eec398 Mon Sep 17 00:00:00 2001 From: Dan Noble Date: Fri, 15 May 2026 17:10:31 -0700 Subject: [PATCH] fixed db seed error --- .../workflow/ingestion-helper/spanner_client.py | 12 ++++++------ .../workflow/ingestion-helper/spanner_client_test.py | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/import-automation/workflow/ingestion-helper/spanner_client.py b/import-automation/workflow/ingestion-helper/spanner_client.py index 37589a5c0c..50e8aeb166 100644 --- a/import-automation/workflow/ingestion-helper/spanner_client.py +++ b/import-automation/workflow/ingestion-helper/spanner_client.py @@ -565,11 +565,11 @@ def seed_database(self): def _seed(transaction: Transaction): candidates = { - "StatisticalVariable": ["StatisticalVariable", ["Class"], spanner.COMMIT_TIMESTAMP], - "StatVarGroup": ["StatVarGroup", ["Class"], spanner.COMMIT_TIMESTAMP], - "StatVarObservation": ["StatVarObservation", ["Class"], spanner.COMMIT_TIMESTAMP], - "Topic": ["Topic", ["Class"], spanner.COMMIT_TIMESTAMP], - "c/g/Root": ["c/g/Root", ["StatVarGroup"], spanner.COMMIT_TIMESTAMP], + "StatisticalVariable": ["StatisticalVariable", "StatisticalVariable", "StatisticalVariable", ["Class"], spanner.COMMIT_TIMESTAMP], + "StatVarGroup": ["StatVarGroup", "StatVarGroup", "StatVarGroup", ["Class"], spanner.COMMIT_TIMESTAMP], + "StatVarObservation": ["StatVarObservation", "StatVarObservation", "StatVarObservation", ["Class"], spanner.COMMIT_TIMESTAMP], + "Topic": ["Topic", "Topic", "Topic", ["Class"], spanner.COMMIT_TIMESTAMP], + "c/g/Root": ["c/g/Root", "c/g/Root", "c/g/Root", ["StatVarGroup"], spanner.COMMIT_TIMESTAMP], } subjects = list(candidates.keys()) sql = "SELECT subject_id FROM Node WHERE subject_id IN UNNEST(@subjects)" @@ -582,7 +582,7 @@ def _seed(transaction: Transaction): values = [candidates[subj] for subj in subjects if subj not in existing] if values: - columns = ["subject_id", "types", "last_update_timestamp"] + columns = ["subject_id", "name", "value", "types", "last_update_timestamp"] transaction.insert(table="Node", columns=columns, values=values) try: diff --git a/import-automation/workflow/ingestion-helper/spanner_client_test.py b/import-automation/workflow/ingestion-helper/spanner_client_test.py index 1a71aa48f5..4eeb6e920a 100644 --- a/import-automation/workflow/ingestion-helper/spanner_client_test.py +++ b/import-automation/workflow/ingestion-helper/spanner_client_test.py @@ -246,10 +246,15 @@ def run_in_transaction_side_effect(callback, *args, **kwargs): mock_transaction.insert.assert_called_once() args, kwargs = mock_transaction.insert.call_args self.assertEqual(kwargs['table'], 'Node') + self.assertEqual(kwargs['columns'], ["subject_id", "name", "value", "types", "last_update_timestamp"]) self.assertEqual(len(kwargs['values']), 5) expected_subjects = ["StatisticalVariable", "StatVarGroup", "StatVarObservation", "Topic", "c/g/Root"] actual_subjects = [val[0] for val in kwargs['values']] + actual_names = [val[1] for val in kwargs['values']] + actual_values = [val[2] for val in kwargs['values']] self.assertEqual(actual_subjects, expected_subjects) + self.assertEqual(actual_names, expected_subjects) + self.assertEqual(actual_values, expected_subjects) @patch('google.cloud.spanner.Client') def test_seed_database_already_exists(self, mock_spanner_client):