feat and perf: Add support for Multiple Programmatic Descriptions and Table level Badges #1902
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of Changes
Hey team, thanks for reviewing this PR!
Whilst I have heavily modified Amundsen's logic in our company repository (Afterpay, as part of Square/Block), I figured I'd add some of these generalised changes directly into the core repo as they greatly helped us make Amundsen more flexible and deliver our vision.
The motivation originates from #1828 which makes the original code quite convoluted and creates duplicated nodes/records. However, with #1877 being an epic speed-up to the original
Neo4JCSV
process (hopefully the PR is merged soon), the original naive method of duplicatingTableMetadata
for multiple programmatic descriptions does not work.The changes here aim to mitigate this issue and allow multiple programmatic descriptions to be added and also benefit from the significantly reduced runtime using
APOC
.Change Log:
TableMetadata
example/scripts/sample_base_postgres_metadata_extractor
for examplesExample Changes:
(all sensitive info has been removed)
Tests
The code has been tested and deployed in our prod environment and I am more than happy to have a quick knowledge share on my changes / tests. This consists of over 40 thousand tables and 500,000 thousand columns.
However testing from the core repo side would be appreciated as our Amundsen is greatly modified and as such, our environment will not capture all test cases.
CheckList
Make sure you have checked all steps below to ensure a timely review.