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)