It seems like this library currently interfaces directly with Mirage’s DB layer, rather than the ORM layer. This causes some compatibility problems for projects that use the ORM layer, particularly in code paths such as filterByParent†.
Interfacing with the ORM layer would potentially simplify loading of associated records and handling of things like non-standard inverse field names.
Is there a reason not to interface with the ORM layer?
Would a PR that switches ember-cli-mirage-graphql over to the ORM layer be valuable?‡
† filterByParent filters on someParentField.id on objects from the DB. When using the ORM layer, the relationship is stored in the DB as someParentFieldId.
‡ We’d probably have to take backwards compatibility into account for projects that don’t use the ORM layer yet.
It seems like this library currently interfaces directly with Mirage’s DB layer, rather than the ORM layer. This causes some compatibility problems for projects that use the ORM layer, particularly in code paths such as
filterByParent†.Interfacing with the ORM layer would potentially simplify loading of associated records and handling of things like non-standard
inversefield names.Is there a reason not to interface with the ORM layer?
Would a PR that switches ember-cli-mirage-graphql over to the ORM layer be valuable?‡
†
filterByParentfilters onsomeParentField.idon objects from the DB. When using the ORM layer, the relationship is stored in the DB assomeParentFieldId.‡ We’d probably have to take backwards compatibility into account for projects that don’t use the ORM layer yet.