Git Product home page Git Product logo

Comments (11)

BrunoBernardino avatar BrunoBernardino commented on July 26, 2024 3

I'm wondering in a situation where you've got a mongoose model, Blog, that has Posts. Post, has a Blog.

How can I avoid that (right now, it's just including each model via normal require — which works but misses the point of DI and better testing)?

I'd love to have electrolyte support that.

from electrolyte.

kingjerod avatar kingjerod commented on July 26, 2024 1

I'm also running into this problem with SequelizeJS when doing a relationship with A.hasMany(B) and B.belongsTo(A).

Edit: I was able to get around this for Sequelize by defining my models in separate files (which I was doing anyways), and then injecting them into a third class which creates the relationships. Not as clean as I'd like, but it will do for now.

from electrolyte.

jaredhanson avatar jaredhanson commented on July 26, 2024

I'm planning on adding a check for circular dependencies and throwing an error before the stack size is exceeded.

I don't know of a good workaround to the circular dependency problem. As a general rule, that's a sign that the two components need to be broken down (say add C that both A and B depend on, but C itself doesn't depend on either). If that's not possible, could you describe the relation of the components a bit more so I can understand it better and think on it?

from electrolyte.

Kroid avatar Kroid commented on July 26, 2024

https://github.com/jriecken/dependency-graph

from electrolyte.

abloom avatar abloom commented on July 26, 2024

@BrunoBernardino I had the same issue with Bookshelf. I ended up defining each model in their own file using electrolyte, and then having a 3rd file to attach the associations, sort of the A/B and C pattern @jaredhanson mentioned above.

It's not ideal, but it works and the 3rd file ends up being the entry point for all my models.

from electrolyte.

muttli avatar muttli commented on July 26, 2024

@jaredhanson any updates on this issue? It's kind of critical in my opinion that this gets fixed.

from electrolyte.

aegyed91 avatar aegyed91 commented on July 26, 2024

+1

from electrolyte.

aimuzov avatar aimuzov commented on July 26, 2024

👍

from electrolyte.

ORusak avatar ORusak commented on July 26, 2024

+1

from electrolyte.

anotheri avatar anotheri commented on July 26, 2024

👍

from electrolyte.

angelwithaneye avatar angelwithaneye commented on July 26, 2024

Still an issue in latest version 0.5

from electrolyte.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.