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.
About the pull request
Refactoring ndatabase to be a bit more readable and redefining the interface for defining entities, entity links, and views to reduce boiler plate. Using field and field type datums to validate that appropriate fields and field types are passed.
Also adding unit tests to validate views and links at the very list.
Will try to document what is going on with ndatabase since variable name changes might not be sufficient in that front.
Feedback from those more familiar with how this works is much appreciated.
TODO
Implementation
internal_parse_column
andinternal_generate_view_query
so thatmeta_to_load
maps entity nodes to table namesDocumentation
meta_to_load
andmeta_to_table
variable names to more clearly reflect what they represent in adaptersinternal_parse_column
andinternal_generate_view_query
since aliasing is not very clear without digging into the codeValidation
Misc
Nice to have's (will probably do these changes in separate PRs to avoid scope creep)
Explain why it's good for the game
With datumized preferences port I am planning to do would like to try storing all preferences in the database instead of through savefiles. Wanted the DB to be a lot easier to work with before diving into that.
Testing Photographs and Procedure
Screenshots & Videos
tba
Changelog
no player facing changes