From 86a587bbfd475ea145d29533663deef4f272eb97 Mon Sep 17 00:00:00 2001 From: Robert Dyjas <15113729+robdy@users.noreply.github.com> Date: Thu, 21 Mar 2024 15:58:57 +0100 Subject: [PATCH] Adds script exporting to database --- scripts/ExportTo-Postgres.ps1 | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 scripts/ExportTo-Postgres.ps1 diff --git a/scripts/ExportTo-Postgres.ps1 b/scripts/ExportTo-Postgres.ps1 new file mode 100644 index 000000000..136062fde --- /dev/null +++ b/scripts/ExportTo-Postgres.ps1 @@ -0,0 +1,38 @@ +cd data/versions +$allFiles = Get-ChildItem -Recurse -File "*.json" +$csvFilePath = 'export.csv' +"timestamp`tguid`tcategory`ttitle`tdescription`tpubdate`tupdated`tpublicdisclosureavailabilitydate`tpublicpreviewdate" | + Out-File $csvFilePath + +foreach ($file in $allFiles) { + $data = $null + $data = Get-Content $file | ConvertFrom-Json -Depth 2 + $processedDescription = $data.description.replace( + # Newlines are OK, that was a false positive + # Covers newlines + # "`n","\n").replace( + # # Covers single quotes + # "'","''" + # ).replace( + # Covers double quotes + '"',"'`"" + ) + $processedTitle = $data.title.replace( + # Newlines are OK, that was a false positive + # Covers newlines + # "`n","\n").replace( + # # Covers single quotes + # "'","''" + # ).replace( + # Covers double quotes + '"',"'`"" + ) + "$($data.timestamp.toString('yyyy-MM-dd hh:mm:ss'))`t$($data.guid)`t{$($data.category -join ',')}`t`"$processedTitle`"`t`"$processedDescription`"`t`"$($data.pubdate)`"`t`"$($data.updated)`"`t`"$($data.publicDisclosureAvailabilityDate)`"`t`"$($data.publicPreviewDate)`"" | Out-File $csvFilePath -Append + Start-Sleep -Milliseconds 5 + $n++ +} + +# Delimiter: [tab] +# Quote " +# Escape ' +# Remove id from columns