Add option to name GSI properties and support string/number types #343
+161
−2
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.
This PR adds support for configuring the GSI properties (if necessary) in a controlled way.
Two use cases I have are:
supporting well named keys as per standards according to wider dev team (not my choice), it also tackles the discussion here: Database/dynamodb-single-table : Fine-grained GSI configuration #76 about fine grained control of the keys
I need to support numeric GSI's, this is because I want to use update expressions to do
ADD/SUBTRACT
without having to read out the record, then perform a round trip (and potential race condition) for subsequent writes.If this PR goes against any sort of standards for property definitions but you like it then just let me know what I need to do to improve this please. Duplicating the GSI-X-YY multiple times for the enum looks dirty, would be happy to just make that "string" but considered that it can be correctly schema'd so left it in.