async def start(self, ctx: Context): for resource_name, context_attr, bind in self.connectables: ctx.publish_resource(bind, resource_name, context_attr, types=Engine) logger.info('Configured SQLAlchemy engine (%s / ctx.%s; dialect=%s)', resource_name, context_attr, bind.dialect.name) if self.sessionmaker: if isinstance(self.commit_executor, str): self.commit_executor = await ctx.request_resource(Executor, self.commit_executor) ctx.publish_resource(self.sessionmaker) ctx.publish_lazy_resource(self.create_session, Session, context_attr=self.session_context_attr) logger.info('Configured SQLAlchemy session (default / ctx.%s)', self.session_context_attr)