pony icon indicating copy to clipboard operation
pony copied to clipboard

How to integrate with Dependency Injector lib

Open elier opened this issue 1 year ago • 0 comments

I'm trying to use ponyorm with a dependency injection lib like: https://python-dependency-injector.ets-labs.org/providers/resource.html

That lib is very popular, it would be great to have an example.

I'm using a resource initializing function like this:

def init_database(options):
    database = orm.Database(options)
    database.generate_mapping(create_tables=True)
    return database

class Container(containers.DeclarativeContainer):
    config = providers.Configuration()
    db = providers.Resource(init_database, config.database)

But I guess initialization is not happening at the right time, so entities are binding:

pony.orm.core.ERDiagramError: Mapping is not generated for entity 'User'

elier avatar May 13 '24 20:05 elier