Significant-Gravitas/AutoGPT · error · DatabaseError

Failed to fetch store creators

Error message

Failed to fetch store creators

What it means

Catch-all DatabaseError from get_store_creators: any exception raised while building the where clause, counting Creator rows, or fetching them (except the validation DatabaseErrors which are re-raised from inside the same try) is logged and re-wrapped with this generic message. The original exception is chained via 'from e', so the server log line 'Error getting store creators: ...' holds the real cause.

Source

Thrown at autogpt_platform/backend/backend/api/features/store/db.py:583

        # Convert to response model
        creator_models = [
            store_model.CreatorDetails.from_db(creator) for creator in creators
        ]

        logger.debug(f"Found {len(creator_models)} creators")
        return store_model.CreatorsResponse(
            creators=creator_models,
            pagination=store_model.Pagination(
                current_page=page,
                total_items=total,
                total_pages=total_pages,
                page_size=page_size,
            ),
        )
    except Exception as e:
        logger.error(f"Error getting store creators: {e}")
        raise DatabaseError("Failed to fetch store creators") from e


async def get_store_creator(
    username: str,
) -> store_model.CreatorDetails:
    logger.debug(f"Getting store creator details for {username}")

    try:
        # Query creator details from database
        creator = await prisma.models.Creator.prisma().find_unique(
            where={"username": username}
        )

        if not creator:
            logger.warning(f"Creator not found: {username}")
            raise store_exceptions.CreatorNotFoundError(f"Creator {username} not found")

        logger.debug(f"Found creator details for {username}")

View on GitHub (pinned to 9c8bb5550f)

Solutions

  1. Read the chained exception in logs: grep 'Error getting store creators' to see the underlying PrimaError.
  2. If it is a client-generation issue run 'poetry run prisma generate'; for schema drift run 'poetry run prisma migrate dev'.
  3. Verify the database is reachable: docker compose up -d and check DATABASE_URL.
  4. Retry once on transient connection errors at the client layer; if persistent, inspect Postgres logs.
Defensive patterns

Strategy: retry

Try / catch

from backend.util.exceptions import DatabaseError

async def safe_get_creators(**kw):
    try:
        return await store_db.get_store_creators(**kw)
    except DatabaseError:
        # one retry for transient connection issues, then surface to user
        await asyncio.sleep(0.5)
        return await store_db.get_store_creators(**kw)

Prevention

When it happens

Trigger: Postgres unreachable/timed out; Prisma client not generated (prisma generate missing); schema drift between the Prisma client and the actual database (unknown column CreatorWhereInput field); connection pool exhaustion under load.

Common situations: Fresh clone where 'poetry run prisma migrate dev' and 'prisma generate' were skipped; docker compose DB not started; a migration applied in one environment but not the other; DATABASE_URL pointing at the wrong database.

Related errors


AI-assisted analysis of Significant-Gravitas/AutoGPT@9c8bb5550f (2026-08-14). Data as JSON: /api/errors/1b4d0a8b152e2af6. Report an issue: GitHub.