loopback-connector
loopback-connector copied to clipboard
Connector helpers to obtain INDEX and FOREIGN KEY configurations from model definitions
This is a follow-up task for the proposal outlined in https://github.com/strongloop/loopback-next/issues/2712.
Implement a helper functions in base Connector class to process index and foreign-key definitions in an unified way and convert them into data suitable for consumption by connector implementations. The helpers should gather both model-level and property-level definitions, apply database/connector-specific options, merge keys/properties fields in index definitions, etc. and produce a final definition that can be directly mapped to database commands.
See _SPIKE_.md in https://github.com/strongloop/loopback-next/pull/2712 for the full description of index/PK definition syntax.
This is a prerequisite for implementation of indexes & foreign keys in other connectors, most notably memory connector (https://github.com/strongloop/loopback-next/issues/2333) and SqlConnector (https://github.com/strongloop/loopback-connector-rest/issues/135)
Acceptance criteria
- [ ] Implement a helper to process INDEX definitions, include tests and API docs
- [ ] Implement a helper to process FOREIGN KEY definitions, include tests and API docs
- [ ] Deprecate ModelDefinition.prototype.indexes() API in favor of this new Connector method.
- Create follow-up tasks to leverage the new helper in our NoSQL connectors and thus let the connectors understand the new FK/INDEX definition syntax. One GH issue per connector please.
- [ ] MongoDB
- [ ] CouchDB
- [ ] Cloudant
- [ ] Cassandra
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.