Skip to content

Connector helpers to obtain INDEX and FOREIGN KEY configurations from model definitions #143

Open
@bajtos

Description

@bajtos

This is a follow-up task for the proposal outlined in loopbackio/loopback-next#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 loopbackio/loopback-next#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 (loopbackio/loopback-next#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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions