-добавлены нетворки в докер композ -исправлен рутинг (баг пайчарма) -запросы к ии агентам не проходят из-за ссл сертификата (пробовали отключить, но пока не выходит, нужно доделать)
1583 lines
100 KiB
Plaintext
1583 lines
100 KiB
Plaintext
2025-12-18 12:58:53 - root - INFO - Starting up...
|
||
2025-12-18 12:58:56 - root - INFO - Starting up...
|
||
2025-12-18 12:59:01 - root - INFO - Starting up...
|
||
2025-12-18 13:00:55 - app.middleware.error_handler - ERROR - Unhandled exception: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation "users" does not exist
|
||
[SQL: SELECT users.email, users.hashed_password, users.role, users.full_name, users.id, users.created_at, users.updated_at
|
||
FROM users
|
||
WHERE users.email = $1::VARCHAR]
|
||
[parameters: ('user@example.com',)]
|
||
(Background on this error at: https://sqlalche.me/e/20/f405)
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 526, in _prepare_and_execute
|
||
prepared_stmt, attributes = await adapt_connection._prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
operation, self._invalidate_schema_cache_asof
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 773, in _prepare
|
||
prepared_stmt = await self._connection.prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
operation, name=self._prepared_statement_name_func()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 638, in prepare
|
||
return await self._prepare(
|
||
^^^^^^^^^^^^^^^^^^^^
|
||
...<4 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 657, in _prepare
|
||
stmt = await self._get_statement(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<5 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 443, in _get_statement
|
||
statement = await self._protocol.prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<5 lines>...
|
||
)
|
||
^
|
||
File "asyncpg/protocol/protocol.pyx", line 165, in prepare
|
||
asyncpg.exceptions.UndefinedTableError: relation "users" does not exist
|
||
|
||
The above exception was the direct cause of the following exception:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
|
||
self.dialect.do_execute(
|
||
~~~~~~~~~~~~~~~~~~~~~~~^
|
||
cursor, str_statement, effective_parameters, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\default.py", line 952, in do_execute
|
||
cursor.execute(statement, parameters)
|
||
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 585, in execute
|
||
self._adapt_connection.await_(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self._prepare_and_execute(operation, parameters)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 132, in await_only
|
||
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
|
||
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
|
||
value = await result
|
||
^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 563, in _prepare_and_execute
|
||
self._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 513, in _handle_exception
|
||
self._adapt_connection._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 797, in _handle_exception
|
||
raise translated_error from error
|
||
sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.ProgrammingError: <class 'asyncpg.exceptions.UndefinedTableError'>: relation "users" does not exist
|
||
|
||
The above exception was the direct cause of the following exception:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
|
||
await self.app(scope, receive, _send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
|
||
with recv_stream, send_stream, collapse_excgroups():
|
||
~~~~~~~~~~~~~~~~~~^^
|
||
File "C:\Users\yfili\AppData\Local\Programs\Python\Python313\Lib\contextlib.py", line 162, in __exit__
|
||
self.gen.throw(value)
|
||
~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_utils.py", line 85, in collapse_excgroups
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
|
||
response = await self.dispatch_func(request, call_next)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\middleware\rate_limiter.py", line 33, in dispatch
|
||
response = await call_next(request)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
|
||
raise app_exc from app_exc.__cause__ or app_exc.__context__
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
|
||
await self.app(scope, receive_or_disconnect, send_no_error)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\cors.py", line 93, in __call__
|
||
await self.simple_response(scope, receive, send, request_headers=headers)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\cors.py", line 144, in simple_response
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
|
||
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
|
||
await app(scope, receive, sender)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 716, in __call__
|
||
await self.middleware_stack(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 736, in app
|
||
await route.handle(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 290, in handle
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 118, in app
|
||
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
|
||
await app(scope, receive, sender)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 104, in app
|
||
response = await f(request)
|
||
^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 428, in app
|
||
raw_response = await run_endpoint_function(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<3 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 314, in run_endpoint_function
|
||
return await dependant.call(**values)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\api\v1\auth.py", line 20, in register
|
||
user = await auth_service.register(db, user_in)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\services\auth_service.py", line 45, in register
|
||
existing_user = await crud_user.get_by_email(db, user_in.email)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\crud\user.py", line 12, in get_by_email
|
||
result = await db.execute(select(User).where(User.email == email))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 449, in execute
|
||
result = await greenlet_spawn(
|
||
^^^^^^^^^^^^^^^^^^^^^
|
||
...<6 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 201, in greenlet_spawn
|
||
result = context.throw(*sys.exc_info())
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 2351, in execute
|
||
return self._execute_internal(
|
||
~~~~~~~~~~~~~~~~~~~~~~^
|
||
statement,
|
||
^^^^^^^^^^
|
||
...<4 lines>...
|
||
_add_event=_add_event,
|
||
^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 2249, in _execute_internal
|
||
result: Result[Any] = compile_state_cls.orm_execute_statement(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self,
|
||
^^^^^
|
||
...<4 lines>...
|
||
conn,
|
||
^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\context.py", line 306, in orm_execute_statement
|
||
result = conn.execute(
|
||
statement, params or {}, execution_options=execution_options
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1419, in execute
|
||
return meth(
|
||
self,
|
||
distilled_parameters,
|
||
execution_options or NO_OPTIONS,
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\sql\elements.py", line 527, in _execute_on_connection
|
||
return connection._execute_clauseelement(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self, distilled_params, execution_options
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1641, in _execute_clauseelement
|
||
ret = self._execute_context(
|
||
dialect,
|
||
...<8 lines>...
|
||
cache_hit=cache_hit,
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
|
||
return self._exec_single_context(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
dialect, context, statement, parameters
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
|
||
self._handle_dbapi_exception(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
e, str_statement, effective_parameters, cursor, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 2363, in _handle_dbapi_exception
|
||
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
|
||
self.dialect.do_execute(
|
||
~~~~~~~~~~~~~~~~~~~~~~~^
|
||
cursor, str_statement, effective_parameters, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\default.py", line 952, in do_execute
|
||
cursor.execute(statement, parameters)
|
||
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 585, in execute
|
||
self._adapt_connection.await_(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self._prepare_and_execute(operation, parameters)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 132, in await_only
|
||
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
|
||
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
|
||
value = await result
|
||
^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 563, in _prepare_and_execute
|
||
self._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 513, in _handle_exception
|
||
self._adapt_connection._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 797, in _handle_exception
|
||
raise translated_error from error
|
||
sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation "users" does not exist
|
||
[SQL: SELECT users.email, users.hashed_password, users.role, users.full_name, users.id, users.created_at, users.updated_at
|
||
FROM users
|
||
WHERE users.email = $1::VARCHAR]
|
||
[parameters: ('user@example.com',)]
|
||
(Background on this error at: https://sqlalche.me/e/20/f405)
|
||
2025-12-18 13:03:24 - app.middleware.error_handler - ERROR - Unhandled exception: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation "users" does not exist
|
||
[SQL: SELECT users.email, users.hashed_password, users.role, users.full_name, users.id, users.created_at, users.updated_at
|
||
FROM users
|
||
WHERE users.email = $1::VARCHAR]
|
||
[parameters: ('test-user@example.com',)]
|
||
(Background on this error at: https://sqlalche.me/e/20/f405)
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 526, in _prepare_and_execute
|
||
prepared_stmt, attributes = await adapt_connection._prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
operation, self._invalidate_schema_cache_asof
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 773, in _prepare
|
||
prepared_stmt = await self._connection.prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
operation, name=self._prepared_statement_name_func()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 638, in prepare
|
||
return await self._prepare(
|
||
^^^^^^^^^^^^^^^^^^^^
|
||
...<4 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 657, in _prepare
|
||
stmt = await self._get_statement(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<5 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 443, in _get_statement
|
||
statement = await self._protocol.prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<5 lines>...
|
||
)
|
||
^
|
||
File "asyncpg/protocol/protocol.pyx", line 165, in prepare
|
||
asyncpg.exceptions.UndefinedTableError: relation "users" does not exist
|
||
|
||
The above exception was the direct cause of the following exception:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
|
||
self.dialect.do_execute(
|
||
~~~~~~~~~~~~~~~~~~~~~~~^
|
||
cursor, str_statement, effective_parameters, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\default.py", line 952, in do_execute
|
||
cursor.execute(statement, parameters)
|
||
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 585, in execute
|
||
self._adapt_connection.await_(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self._prepare_and_execute(operation, parameters)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 132, in await_only
|
||
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
|
||
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
|
||
value = await result
|
||
^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 563, in _prepare_and_execute
|
||
self._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 513, in _handle_exception
|
||
self._adapt_connection._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 797, in _handle_exception
|
||
raise translated_error from error
|
||
sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.ProgrammingError: <class 'asyncpg.exceptions.UndefinedTableError'>: relation "users" does not exist
|
||
|
||
The above exception was the direct cause of the following exception:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
|
||
await self.app(scope, receive, _send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
|
||
with recv_stream, send_stream, collapse_excgroups():
|
||
~~~~~~~~~~~~~~~~~~^^
|
||
File "C:\Users\yfili\AppData\Local\Programs\Python\Python313\Lib\contextlib.py", line 162, in __exit__
|
||
self.gen.throw(value)
|
||
~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_utils.py", line 85, in collapse_excgroups
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
|
||
response = await self.dispatch_func(request, call_next)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\middleware\rate_limiter.py", line 33, in dispatch
|
||
response = await call_next(request)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
|
||
raise app_exc from app_exc.__cause__ or app_exc.__context__
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
|
||
await self.app(scope, receive_or_disconnect, send_no_error)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\cors.py", line 93, in __call__
|
||
await self.simple_response(scope, receive, send, request_headers=headers)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\cors.py", line 144, in simple_response
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
|
||
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
|
||
await app(scope, receive, sender)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 716, in __call__
|
||
await self.middleware_stack(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 736, in app
|
||
await route.handle(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 290, in handle
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 118, in app
|
||
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
|
||
await app(scope, receive, sender)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 104, in app
|
||
response = await f(request)
|
||
^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 428, in app
|
||
raw_response = await run_endpoint_function(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<3 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 314, in run_endpoint_function
|
||
return await dependant.call(**values)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\api\v1\auth.py", line 20, in register
|
||
user = await auth_service.register(db, user_in)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\services\auth_service.py", line 45, in register
|
||
existing_user = await crud_user.get_by_email(db, user_in.email)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\crud\user.py", line 12, in get_by_email
|
||
result = await db.execute(select(User).where(User.email == email))
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 449, in execute
|
||
result = await greenlet_spawn(
|
||
^^^^^^^^^^^^^^^^^^^^^
|
||
...<6 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 201, in greenlet_spawn
|
||
result = context.throw(*sys.exc_info())
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 2351, in execute
|
||
return self._execute_internal(
|
||
~~~~~~~~~~~~~~~~~~~~~~^
|
||
statement,
|
||
^^^^^^^^^^
|
||
...<4 lines>...
|
||
_add_event=_add_event,
|
||
^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 2249, in _execute_internal
|
||
result: Result[Any] = compile_state_cls.orm_execute_statement(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self,
|
||
^^^^^
|
||
...<4 lines>...
|
||
conn,
|
||
^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\context.py", line 306, in orm_execute_statement
|
||
result = conn.execute(
|
||
statement, params or {}, execution_options=execution_options
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1419, in execute
|
||
return meth(
|
||
self,
|
||
distilled_parameters,
|
||
execution_options or NO_OPTIONS,
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\sql\elements.py", line 527, in _execute_on_connection
|
||
return connection._execute_clauseelement(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self, distilled_params, execution_options
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1641, in _execute_clauseelement
|
||
ret = self._execute_context(
|
||
dialect,
|
||
...<8 lines>...
|
||
cache_hit=cache_hit,
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
|
||
return self._exec_single_context(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
dialect, context, statement, parameters
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
|
||
self._handle_dbapi_exception(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
e, str_statement, effective_parameters, cursor, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 2363, in _handle_dbapi_exception
|
||
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
|
||
self.dialect.do_execute(
|
||
~~~~~~~~~~~~~~~~~~~~~~~^
|
||
cursor, str_statement, effective_parameters, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\default.py", line 952, in do_execute
|
||
cursor.execute(statement, parameters)
|
||
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 585, in execute
|
||
self._adapt_connection.await_(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self._prepare_and_execute(operation, parameters)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 132, in await_only
|
||
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
|
||
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
|
||
value = await result
|
||
^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 563, in _prepare_and_execute
|
||
self._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 513, in _handle_exception
|
||
self._adapt_connection._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 797, in _handle_exception
|
||
raise translated_error from error
|
||
sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation "users" does not exist
|
||
[SQL: SELECT users.email, users.hashed_password, users.role, users.full_name, users.id, users.created_at, users.updated_at
|
||
FROM users
|
||
WHERE users.email = $1::VARCHAR]
|
||
[parameters: ('test-user@example.com',)]
|
||
(Background on this error at: https://sqlalche.me/e/20/f405)
|
||
2025-12-18 13:04:36 - root - INFO - Shutting down...
|
||
2025-12-18 13:04:39 - root - INFO - Starting up...
|
||
2025-12-18 13:04:42 - root - INFO - Starting up...
|
||
2025-12-18 13:04:42 - root - INFO - Shutting down...
|
||
2025-12-18 13:04:48 - root - INFO - Shutting down...
|
||
2025-12-18 13:04:51 - root - INFO - Starting up...
|
||
2025-12-18 13:04:54 - root - INFO - Starting up...
|
||
2025-12-18 13:09:52 - root - INFO - Shutting down...
|
||
2025-12-18 13:09:56 - root - INFO - Starting up...
|
||
2025-12-18 13:11:01 - root - INFO - Starting up...
|
||
2025-12-18 13:11:11 - root - INFO - Shutting down...
|
||
2025-12-18 13:11:13 - root - INFO - Starting up...
|
||
2025-12-18 13:11:26 - passlib.handlers.bcrypt - WARNING - (trapped) error reading bcrypt version
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
|
||
version = _bcrypt.__about__.__version__
|
||
^^^^^^^^^^^^^^^^^
|
||
AttributeError: module 'bcrypt' has no attribute '__about__'
|
||
2025-12-18 13:11:56 - root - INFO - Shutting down...
|
||
2025-12-18 13:12:01 - root - INFO - Starting up...
|
||
2025-12-18 13:12:14 - root - INFO - Starting up...
|
||
2025-12-18 13:12:41 - passlib.handlers.bcrypt - WARNING - (trapped) error reading bcrypt version
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
|
||
version = _bcrypt.__about__.__version__
|
||
^^^^^^^^^^^^^^^^^
|
||
AttributeError: module 'bcrypt' has no attribute '__about__'
|
||
2025-12-18 13:13:10 - root - INFO - Shutting down...
|
||
2025-12-18 13:13:13 - root - INFO - Starting up...
|
||
2025-12-18 13:13:20 - root - INFO - Shutting down...
|
||
2025-12-18 13:13:22 - root - INFO - Starting up...
|
||
2025-12-18 13:13:29 - root - INFO - Shutting down...
|
||
2025-12-18 13:13:32 - root - INFO - Starting up...
|
||
2025-12-18 13:13:35 - root - INFO - Shutting down...
|
||
2025-12-18 13:13:38 - root - INFO - Starting up...
|
||
2025-12-18 13:15:48 - passlib.handlers.bcrypt - WARNING - (trapped) error reading bcrypt version
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
|
||
version = _bcrypt.__about__.__version__
|
||
^^^^^^^^^^^^^^^^^
|
||
AttributeError: module 'bcrypt' has no attribute '__about__'
|
||
2025-12-18 13:16:12 - root - INFO - Shutting down...
|
||
2025-12-18 13:16:15 - root - INFO - Starting up...
|
||
2025-12-18 13:16:17 - root - INFO - Starting up...
|
||
2025-12-18 13:16:22 - root - INFO - Shutting down...
|
||
2025-12-18 13:16:25 - root - INFO - Starting up...
|
||
2025-12-18 13:16:35 - root - INFO - Shutting down...
|
||
2025-12-18 13:16:38 - root - INFO - Starting up...
|
||
2025-12-18 13:16:59 - root - INFO - Shutting down...
|
||
2025-12-18 13:17:03 - root - INFO - Starting up...
|
||
2025-12-18 13:17:10 - root - INFO - Shutting down...
|
||
2025-12-18 13:17:13 - root - INFO - Starting up...
|
||
2025-12-18 13:21:15 - root - INFO - Shutting down...
|
||
2025-12-18 13:21:18 - root - INFO - Starting up...
|
||
2025-12-18 13:21:21 - root - INFO - Starting up...
|
||
2025-12-18 13:26:01 - passlib.handlers.bcrypt - WARNING - (trapped) error reading bcrypt version
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
|
||
version = _bcrypt.__about__.__version__
|
||
^^^^^^^^^^^^^^^^^
|
||
AttributeError: module 'bcrypt' has no attribute '__about__'
|
||
2025-12-18 13:26:01 - passlib.handlers.bcrypt - WARNING - (trapped) error reading bcrypt version
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\core\security.py", line 38, in get_password_hash
|
||
return pwd_context.hash(password)
|
||
~~~~~~~~~~~~~~~~^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\context.py", line 2258, in hash
|
||
return record.hash(secret, **kwds)
|
||
~~~~~~~~~~~^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 779, in hash
|
||
self.checksum = self._calc_checksum(secret)
|
||
~~~~~~~~~~~~~~~~~~~^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 591, in _calc_checksum
|
||
self._stub_requires_backend()
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2254, in _stub_requires_backend
|
||
cls.set_backend()
|
||
~~~~~~~~~~~~~~~^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2156, in set_backend
|
||
return owner.set_backend(name, dryrun=dryrun)
|
||
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2163, in set_backend
|
||
return cls.set_backend(name, dryrun=dryrun)
|
||
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2188, in set_backend
|
||
cls._set_backend(name, dryrun)
|
||
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2311, in _set_backend
|
||
super(SubclassBackendMixin, cls)._set_backend(name, dryrun)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2224, in _set_backend
|
||
ok = loader(**kwds)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 626, in _load_backend_mixin
|
||
return mixin_cls._finalize_backend_mixin(name, dryrun)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 421, in _finalize_backend_mixin
|
||
if detect_wrap_bug(IDENT_2A):
|
||
~~~~~~~~~~~~~~~^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 380, in detect_wrap_bug
|
||
if verify(secret, bug_hash):
|
||
~~~~~~^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 792, in verify
|
||
return consteq(self._calc_checksum(secret), chk)
|
||
~~~~~~~~~~~~~~~~~~~^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 655, in _calc_checksum
|
||
hash = _bcrypt.hashpw(secret, config)
|
||
ValueError: password cannot be longer than 72 bytes, truncate manually if necessary (e.g. my_password[:72])
|
||
|
||
During handling of the above exception, another exception occurred:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
|
||
version = _bcrypt.__about__.__version__
|
||
^^^^^^^^^^^^^^^^^
|
||
AttributeError: module 'bcrypt' has no attribute '__about__'
|
||
2025-12-18 13:26:31 - root - INFO - Shutting down...
|
||
2025-12-18 13:26:35 - root - INFO - Starting up...
|
||
2025-12-18 13:26:38 - root - INFO - Shutting down...
|
||
2025-12-18 13:26:41 - root - INFO - Starting up...
|
||
2025-12-18 13:26:56 - root - INFO - Shutting down...
|
||
2025-12-18 13:26:59 - root - INFO - Starting up...
|
||
2025-12-18 13:27:05 - root - INFO - Shutting down...
|
||
2025-12-18 13:27:08 - root - INFO - Starting up...
|
||
2025-12-18 13:27:17 - root - INFO - Shutting down...
|
||
2025-12-18 13:27:19 - root - INFO - Starting up...
|
||
2025-12-18 13:27:44 - passlib.handlers.bcrypt - WARNING - (trapped) error reading bcrypt version
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
|
||
version = _bcrypt.__about__.__version__
|
||
^^^^^^^^^^^^^^^^^
|
||
AttributeError: module 'bcrypt' has no attribute '__about__'
|
||
2025-12-18 13:27:44 - passlib.handlers.bcrypt - WARNING - (trapped) error reading bcrypt version
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\core\security.py", line 38, in get_password_hash
|
||
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 72 <20><><EFBFBD><EFBFBD>
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\context.py", line 2258, in hash
|
||
return record.hash(secret, **kwds)
|
||
~~~~~~~~~~~^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 779, in hash
|
||
self.checksum = self._calc_checksum(secret)
|
||
~~~~~~~~~~~~~~~~~~~^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 591, in _calc_checksum
|
||
self._stub_requires_backend()
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2254, in _stub_requires_backend
|
||
cls.set_backend()
|
||
~~~~~~~~~~~~~~~^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2156, in set_backend
|
||
return owner.set_backend(name, dryrun=dryrun)
|
||
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2163, in set_backend
|
||
return cls.set_backend(name, dryrun=dryrun)
|
||
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2188, in set_backend
|
||
cls._set_backend(name, dryrun)
|
||
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2311, in _set_backend
|
||
super(SubclassBackendMixin, cls)._set_backend(name, dryrun)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2224, in _set_backend
|
||
ok = loader(**kwds)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 626, in _load_backend_mixin
|
||
return mixin_cls._finalize_backend_mixin(name, dryrun)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 421, in _finalize_backend_mixin
|
||
if detect_wrap_bug(IDENT_2A):
|
||
~~~~~~~~~~~~~~~^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 380, in detect_wrap_bug
|
||
if verify(secret, bug_hash):
|
||
~~~~~~^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 792, in verify
|
||
return consteq(self._calc_checksum(secret), chk)
|
||
~~~~~~~~~~~~~~~~~~~^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 655, in _calc_checksum
|
||
hash = _bcrypt.hashpw(secret, config)
|
||
ValueError: password cannot be longer than 72 bytes, truncate manually if necessary (e.g. my_password[:72])
|
||
|
||
During handling of the above exception, another exception occurred:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
|
||
version = _bcrypt.__about__.__version__
|
||
^^^^^^^^^^^^^^^^^
|
||
AttributeError: module 'bcrypt' has no attribute '__about__'
|
||
2025-12-18 13:29:06 - root - INFO - Shutting down...
|
||
2025-12-18 13:29:09 - root - INFO - Starting up...
|
||
2025-12-18 13:29:14 - root - INFO - Shutting down...
|
||
2025-12-18 13:29:18 - root - INFO - Starting up...
|
||
2025-12-18 13:29:22 - root - INFO - Starting up...
|
||
2025-12-18 13:29:23 - root - INFO - Shutting down...
|
||
2025-12-18 13:29:26 - root - INFO - Starting up...
|
||
2025-12-18 13:30:36 - root - INFO - Shutting down...
|
||
2025-12-18 13:30:43 - root - INFO - Starting up...
|
||
2025-12-18 13:31:05 - passlib.handlers.bcrypt - WARNING - (trapped) error reading bcrypt version
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
|
||
version = _bcrypt.__about__.__version__
|
||
^^^^^^^^^^^^^^^^^
|
||
AttributeError: module 'bcrypt' has no attribute '__about__'
|
||
2025-12-18 13:31:05 - passlib.handlers.bcrypt - WARNING - (trapped) error reading bcrypt version
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\core\security.py", line 38, in get_password_hash
|
||
def get_password_hash(password: str) -> str:
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\context.py", line 2258, in hash
|
||
return record.hash(secret, **kwds)
|
||
~~~~~~~~~~~^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 779, in hash
|
||
self.checksum = self._calc_checksum(secret)
|
||
~~~~~~~~~~~~~~~~~~~^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 591, in _calc_checksum
|
||
self._stub_requires_backend()
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2254, in _stub_requires_backend
|
||
cls.set_backend()
|
||
~~~~~~~~~~~~~~~^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2156, in set_backend
|
||
return owner.set_backend(name, dryrun=dryrun)
|
||
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2163, in set_backend
|
||
return cls.set_backend(name, dryrun=dryrun)
|
||
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2188, in set_backend
|
||
cls._set_backend(name, dryrun)
|
||
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2311, in _set_backend
|
||
super(SubclassBackendMixin, cls)._set_backend(name, dryrun)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 2224, in _set_backend
|
||
ok = loader(**kwds)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 626, in _load_backend_mixin
|
||
return mixin_cls._finalize_backend_mixin(name, dryrun)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 421, in _finalize_backend_mixin
|
||
if detect_wrap_bug(IDENT_2A):
|
||
~~~~~~~~~~~~~~~^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 380, in detect_wrap_bug
|
||
if verify(secret, bug_hash):
|
||
~~~~~~^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\utils\handlers.py", line 792, in verify
|
||
return consteq(self._calc_checksum(secret), chk)
|
||
~~~~~~~~~~~~~~~~~~~^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 655, in _calc_checksum
|
||
hash = _bcrypt.hashpw(secret, config)
|
||
ValueError: password cannot be longer than 72 bytes, truncate manually if necessary (e.g. my_password[:72])
|
||
|
||
During handling of the above exception, another exception occurred:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
|
||
version = _bcrypt.__about__.__version__
|
||
^^^^^^^^^^^^^^^^^
|
||
AttributeError: module 'bcrypt' has no attribute '__about__'
|
||
2025-12-18 13:31:19 - root - INFO - Shutting down...
|
||
2025-12-18 13:31:22 - root - INFO - Starting up...
|
||
2025-12-18 13:31:24 - root - INFO - Starting up...
|
||
2025-12-18 13:33:16 - root - INFO - Shutting down...
|
||
2025-12-18 13:33:19 - root - INFO - Starting up...
|
||
2025-12-18 13:33:22 - root - INFO - Starting up...
|
||
2025-12-18 13:33:24 - root - INFO - Starting up...
|
||
2025-12-18 13:33:28 - root - INFO - Shutting down...
|
||
2025-12-18 13:33:35 - root - INFO - Starting up...
|
||
2025-12-18 13:33:45 - root - INFO - Shutting down...
|
||
2025-12-18 13:33:48 - root - INFO - Starting up...
|
||
2025-12-18 13:33:50 - root - INFO - Starting up...
|
||
2025-12-18 13:34:07 - app.middleware.error_handler - ERROR - Unhandled exception: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedFunctionError'>: operator does not exist: character varying = uuid
|
||
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
|
||
[SQL: SELECT users.email, users.hashed_password, users.role, users.full_name, users.id, users.created_at, users.updated_at
|
||
FROM users
|
||
WHERE users.id = $1::UUID]
|
||
[parameters: ('adae0851-85c1-431e-8e09-f8f7ebcbb50c',)]
|
||
(Background on this error at: https://sqlalche.me/e/20/f405)
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 526, in _prepare_and_execute
|
||
prepared_stmt, attributes = await adapt_connection._prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
operation, self._invalidate_schema_cache_asof
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 773, in _prepare
|
||
prepared_stmt = await self._connection.prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
operation, name=self._prepared_statement_name_func()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 638, in prepare
|
||
return await self._prepare(
|
||
^^^^^^^^^^^^^^^^^^^^
|
||
...<4 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 657, in _prepare
|
||
stmt = await self._get_statement(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<5 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 443, in _get_statement
|
||
statement = await self._protocol.prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<5 lines>...
|
||
)
|
||
^
|
||
File "asyncpg/protocol/protocol.pyx", line 165, in prepare
|
||
asyncpg.exceptions.UndefinedFunctionError: operator does not exist: character varying = uuid
|
||
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
|
||
|
||
The above exception was the direct cause of the following exception:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
|
||
self.dialect.do_execute(
|
||
~~~~~~~~~~~~~~~~~~~~~~~^
|
||
cursor, str_statement, effective_parameters, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\default.py", line 952, in do_execute
|
||
cursor.execute(statement, parameters)
|
||
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 585, in execute
|
||
self._adapt_connection.await_(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self._prepare_and_execute(operation, parameters)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 132, in await_only
|
||
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
|
||
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
|
||
value = await result
|
||
^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 563, in _prepare_and_execute
|
||
self._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 513, in _handle_exception
|
||
self._adapt_connection._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 797, in _handle_exception
|
||
raise translated_error from error
|
||
sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.ProgrammingError: <class 'asyncpg.exceptions.UndefinedFunctionError'>: operator does not exist: character varying = uuid
|
||
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
|
||
|
||
The above exception was the direct cause of the following exception:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
|
||
await self.app(scope, receive, _send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
|
||
with recv_stream, send_stream, collapse_excgroups():
|
||
~~~~~~~~~~~~~~~~~~^^
|
||
File "C:\Users\yfili\AppData\Local\Programs\Python\Python313\Lib\contextlib.py", line 162, in __exit__
|
||
self.gen.throw(value)
|
||
~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_utils.py", line 85, in collapse_excgroups
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
|
||
response = await self.dispatch_func(request, call_next)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\middleware\rate_limiter.py", line 33, in dispatch
|
||
response = await call_next(request)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
|
||
raise app_exc from app_exc.__cause__ or app_exc.__context__
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
|
||
await self.app(scope, receive_or_disconnect, send_no_error)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\cors.py", line 93, in __call__
|
||
await self.simple_response(scope, receive, send, request_headers=headers)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\cors.py", line 144, in simple_response
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
|
||
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
|
||
await app(scope, receive, sender)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 716, in __call__
|
||
await self.middleware_stack(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 736, in app
|
||
await route.handle(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 290, in handle
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 118, in app
|
||
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
|
||
await app(scope, receive, sender)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 104, in app
|
||
response = await f(request)
|
||
^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 428, in app
|
||
raw_response = await run_endpoint_function(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<3 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 314, in run_endpoint_function
|
||
return await dependant.call(**values)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\api\v1\auth.py", line 20, in register
|
||
user = await auth_service.register(db, user_in)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\services\auth_service.py", line 52, in register
|
||
db_user = await crud_user.create(db, user_in, hashed_password)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\crud\user.py", line 25, in create
|
||
await db.refresh(db_obj)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 329, in refresh
|
||
await greenlet_spawn(
|
||
...<4 lines>...
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 201, in greenlet_spawn
|
||
result = context.throw(*sys.exc_info())
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 3154, in refresh
|
||
loading.load_on_ident(
|
||
~~~~~~~~~~~~~~~~~~~~~^
|
||
self,
|
||
^^^^^
|
||
...<10 lines>...
|
||
is_user_refresh=True,
|
||
^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\loading.py", line 510, in load_on_ident
|
||
return load_on_pk_identity(
|
||
session,
|
||
...<11 lines>...
|
||
is_user_refresh=is_user_refresh,
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\loading.py", line 695, in load_on_pk_identity
|
||
session.execute(
|
||
~~~~~~~~~~~~~~~^
|
||
q,
|
||
^^
|
||
...<2 lines>...
|
||
bind_arguments=bind_arguments,
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 2351, in execute
|
||
return self._execute_internal(
|
||
~~~~~~~~~~~~~~~~~~~~~~^
|
||
statement,
|
||
^^^^^^^^^^
|
||
...<4 lines>...
|
||
_add_event=_add_event,
|
||
^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 2249, in _execute_internal
|
||
result: Result[Any] = compile_state_cls.orm_execute_statement(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self,
|
||
^^^^^
|
||
...<4 lines>...
|
||
conn,
|
||
^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\context.py", line 306, in orm_execute_statement
|
||
result = conn.execute(
|
||
statement, params or {}, execution_options=execution_options
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1419, in execute
|
||
return meth(
|
||
self,
|
||
distilled_parameters,
|
||
execution_options or NO_OPTIONS,
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\sql\elements.py", line 527, in _execute_on_connection
|
||
return connection._execute_clauseelement(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self, distilled_params, execution_options
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1641, in _execute_clauseelement
|
||
ret = self._execute_context(
|
||
dialect,
|
||
...<8 lines>...
|
||
cache_hit=cache_hit,
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
|
||
return self._exec_single_context(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
dialect, context, statement, parameters
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
|
||
self._handle_dbapi_exception(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
e, str_statement, effective_parameters, cursor, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 2363, in _handle_dbapi_exception
|
||
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
|
||
self.dialect.do_execute(
|
||
~~~~~~~~~~~~~~~~~~~~~~~^
|
||
cursor, str_statement, effective_parameters, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\default.py", line 952, in do_execute
|
||
cursor.execute(statement, parameters)
|
||
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 585, in execute
|
||
self._adapt_connection.await_(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self._prepare_and_execute(operation, parameters)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 132, in await_only
|
||
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
|
||
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
|
||
value = await result
|
||
^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 563, in _prepare_and_execute
|
||
self._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 513, in _handle_exception
|
||
self._adapt_connection._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 797, in _handle_exception
|
||
raise translated_error from error
|
||
sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedFunctionError'>: operator does not exist: character varying = uuid
|
||
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
|
||
[SQL: SELECT users.email, users.hashed_password, users.role, users.full_name, users.id, users.created_at, users.updated_at
|
||
FROM users
|
||
WHERE users.id = $1::UUID]
|
||
[parameters: ('adae0851-85c1-431e-8e09-f8f7ebcbb50c',)]
|
||
(Background on this error at: https://sqlalche.me/e/20/f405)
|
||
2025-12-18 13:34:56 - root - INFO - Shutting down...
|
||
2025-12-18 13:34:59 - root - INFO - Starting up...
|
||
2025-12-18 13:35:05 - root - INFO - Shutting down...
|
||
2025-12-18 13:35:08 - root - INFO - Starting up...
|
||
2025-12-18 13:35:09 - root - INFO - Shutting down...
|
||
2025-12-18 13:35:16 - root - INFO - Starting up...
|
||
2025-12-18 13:36:03 - app.middleware.error_handler - ERROR - Unhandled exception: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedFunctionError'>: operator does not exist: character varying = uuid
|
||
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
|
||
[SQL: SELECT users.email, users.hashed_password, users.role, users.full_name, users.id, users.created_at, users.updated_at
|
||
FROM users
|
||
WHERE users.id = $1::UUID]
|
||
[parameters: ('48890596-1070-4969-af32-74644b69346a',)]
|
||
(Background on this error at: https://sqlalche.me/e/20/f405)
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 526, in _prepare_and_execute
|
||
prepared_stmt, attributes = await adapt_connection._prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
operation, self._invalidate_schema_cache_asof
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 773, in _prepare
|
||
prepared_stmt = await self._connection.prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
operation, name=self._prepared_statement_name_func()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 638, in prepare
|
||
return await self._prepare(
|
||
^^^^^^^^^^^^^^^^^^^^
|
||
...<4 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 657, in _prepare
|
||
stmt = await self._get_statement(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<5 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\asyncpg\connection.py", line 443, in _get_statement
|
||
statement = await self._protocol.prepare(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<5 lines>...
|
||
)
|
||
^
|
||
File "asyncpg/protocol/protocol.pyx", line 165, in prepare
|
||
asyncpg.exceptions.UndefinedFunctionError: operator does not exist: character varying = uuid
|
||
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
|
||
|
||
The above exception was the direct cause of the following exception:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
|
||
self.dialect.do_execute(
|
||
~~~~~~~~~~~~~~~~~~~~~~~^
|
||
cursor, str_statement, effective_parameters, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\default.py", line 952, in do_execute
|
||
cursor.execute(statement, parameters)
|
||
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 585, in execute
|
||
self._adapt_connection.await_(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self._prepare_and_execute(operation, parameters)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 132, in await_only
|
||
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
|
||
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
|
||
value = await result
|
||
^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 563, in _prepare_and_execute
|
||
self._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 513, in _handle_exception
|
||
self._adapt_connection._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 797, in _handle_exception
|
||
raise translated_error from error
|
||
sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.ProgrammingError: <class 'asyncpg.exceptions.UndefinedFunctionError'>: operator does not exist: character varying = uuid
|
||
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
|
||
|
||
The above exception was the direct cause of the following exception:
|
||
|
||
Traceback (most recent call last):
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
|
||
await self.app(scope, receive, _send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 191, in __call__
|
||
with recv_stream, send_stream, collapse_excgroups():
|
||
~~~~~~~~~~~~~~~~~~^^
|
||
File "C:\Users\yfili\AppData\Local\Programs\Python\Python313\Lib\contextlib.py", line 162, in __exit__
|
||
self.gen.throw(value)
|
||
~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_utils.py", line 85, in collapse_excgroups
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 193, in __call__
|
||
response = await self.dispatch_func(request, call_next)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\middleware\rate_limiter.py", line 33, in dispatch
|
||
response = await call_next(request)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 168, in call_next
|
||
raise app_exc from app_exc.__cause__ or app_exc.__context__
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\base.py", line 144, in coro
|
||
await self.app(scope, receive_or_disconnect, send_no_error)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\cors.py", line 93, in __call__
|
||
await self.simple_response(scope, receive, send, request_headers=headers)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\cors.py", line 144, in simple_response
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
|
||
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
|
||
await app(scope, receive, sender)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 716, in __call__
|
||
await self.middleware_stack(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 736, in app
|
||
await route.handle(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\routing.py", line 290, in handle
|
||
await self.app(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 118, in app
|
||
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
|
||
raise exc
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
|
||
await app(scope, receive, sender)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 104, in app
|
||
response = await f(request)
|
||
^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 428, in app
|
||
raw_response = await run_endpoint_function(
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
...<3 lines>...
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\fastapi\routing.py", line 314, in run_endpoint_function
|
||
return await dependant.call(**values)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\api\v1\auth.py", line 20, in register
|
||
user = await auth_service.register(db, user_in)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\services\auth_service.py", line 52, in register
|
||
db_user = await crud_user.create(db, user_in, hashed_password)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\app\crud\user.py", line 25, in create
|
||
await db.refresh(db_obj)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 329, in refresh
|
||
await greenlet_spawn(
|
||
...<4 lines>...
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 201, in greenlet_spawn
|
||
result = context.throw(*sys.exc_info())
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 3154, in refresh
|
||
loading.load_on_ident(
|
||
~~~~~~~~~~~~~~~~~~~~~^
|
||
self,
|
||
^^^^^
|
||
...<10 lines>...
|
||
is_user_refresh=True,
|
||
^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\loading.py", line 510, in load_on_ident
|
||
return load_on_pk_identity(
|
||
session,
|
||
...<11 lines>...
|
||
is_user_refresh=is_user_refresh,
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\loading.py", line 695, in load_on_pk_identity
|
||
session.execute(
|
||
~~~~~~~~~~~~~~~^
|
||
q,
|
||
^^
|
||
...<2 lines>...
|
||
bind_arguments=bind_arguments,
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 2351, in execute
|
||
return self._execute_internal(
|
||
~~~~~~~~~~~~~~~~~~~~~~^
|
||
statement,
|
||
^^^^^^^^^^
|
||
...<4 lines>...
|
||
_add_event=_add_event,
|
||
^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 2249, in _execute_internal
|
||
result: Result[Any] = compile_state_cls.orm_execute_statement(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self,
|
||
^^^^^
|
||
...<4 lines>...
|
||
conn,
|
||
^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\orm\context.py", line 306, in orm_execute_statement
|
||
result = conn.execute(
|
||
statement, params or {}, execution_options=execution_options
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1419, in execute
|
||
return meth(
|
||
self,
|
||
distilled_parameters,
|
||
execution_options or NO_OPTIONS,
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\sql\elements.py", line 527, in _execute_on_connection
|
||
return connection._execute_clauseelement(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self, distilled_params, execution_options
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1641, in _execute_clauseelement
|
||
ret = self._execute_context(
|
||
dialect,
|
||
...<8 lines>...
|
||
cache_hit=cache_hit,
|
||
)
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
|
||
return self._exec_single_context(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
dialect, context, statement, parameters
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
|
||
self._handle_dbapi_exception(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
e, str_statement, effective_parameters, cursor, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 2363, in _handle_dbapi_exception
|
||
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
|
||
self.dialect.do_execute(
|
||
~~~~~~~~~~~~~~~~~~~~~~~^
|
||
cursor, str_statement, effective_parameters, context
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\engine\default.py", line 952, in do_execute
|
||
cursor.execute(statement, parameters)
|
||
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 585, in execute
|
||
self._adapt_connection.await_(
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||
self._prepare_and_execute(operation, parameters)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
)
|
||
^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 132, in await_only
|
||
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
|
||
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
|
||
value = await result
|
||
^^^^^^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 563, in _prepare_and_execute
|
||
self._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 513, in _handle_exception
|
||
self._adapt_connection._handle_exception(error)
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
|
||
File "C:\Users\yfili\Desktop\Planet\New-planet-api\new-planet-backend\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\asyncpg.py", line 797, in _handle_exception
|
||
raise translated_error from error
|
||
sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedFunctionError'>: operator does not exist: character varying = uuid
|
||
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
|
||
[SQL: SELECT users.email, users.hashed_password, users.role, users.full_name, users.id, users.created_at, users.updated_at
|
||
FROM users
|
||
WHERE users.id = $1::UUID]
|
||
[parameters: ('48890596-1070-4969-af32-74644b69346a',)]
|
||
(Background on this error at: https://sqlalche.me/e/20/f405)
|
||
2025-12-18 13:38:35 - root - INFO - Shutting down...
|
||
2025-12-18 13:38:46 - root - INFO - Starting up...
|
||
2025-12-18 13:38:48 - root - INFO - Shutting down...
|
||
2025-12-18 13:38:52 - root - INFO - Starting up...
|
||
2025-12-18 13:48:03 - root - INFO - Shutting down...
|
||
2025-12-18 13:48:08 - root - INFO - Starting up...
|
||
2025-12-18 13:48:11 - root - INFO - Starting up...
|
||
2025-12-18 13:48:16 - root - INFO - Shutting down...
|
||
2025-12-18 13:48:19 - root - INFO - Starting up...
|
||
2025-12-18 13:48:49 - root - INFO - Shutting down...
|
||
2025-12-18 13:48:52 - root - INFO - Starting up...
|
||
2025-12-18 13:48:55 - root - INFO - Starting up...
|
||
2025-12-18 13:49:33 - root - INFO - Shutting down...
|
||
2025-12-18 13:49:38 - root - INFO - Starting up...
|
||
2025-12-18 13:51:42 - root - INFO - Shutting down...
|
||
2025-12-18 18:44:49 - root - INFO - Starting up...
|
||
2025-12-18 19:39:26 - root - INFO - Starting up...
|
||
2025-12-18 19:40:16 - app.middleware.error_handler - ERROR - Unhandled exception: Error 111 connecting to localhost:6379. Connection refused.
|
||
+ Exception Group Traceback (most recent call last):
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 79, in collapse_excgroups
|
||
| yield
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 192, in __call__
|
||
| async with anyio.create_task_group() as task_group:
|
||
| File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 783, in __aexit__
|
||
| raise BaseExceptionGroup(
|
||
| ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
|
||
+-+---------------- 1 ----------------
|
||
| Traceback (most recent call last):
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
|
||
| await self.app(scope, receive, _send)
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
|
||
| with recv_stream, send_stream, collapse_excgroups():
|
||
| File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
|
||
| self.gen.throw(typ, value, traceback)
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
|
||
| raise exc
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in __call__
|
||
| response = await self.dispatch_func(request, call_next)
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/app/app/middleware/rate_limiter.py", line 20, in dispatch
|
||
| current_requests = await cache_service.get(cache_key)
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/app/app/services/cache_service.py", line 28, in get
|
||
| return await self.redis_client.get(key)
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 720, in execute_command
|
||
| conn = self.connection or await pool.get_connection()
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1198, in get_connection
|
||
| await self.ensure_connection(connection)
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1231, in ensure_connection
|
||
| await connection.connect()
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 298, in connect
|
||
| await self.connect_check_health(check_health=True)
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 317, in connect_check_health
|
||
| raise ConnectionError(self._error_message(e))
|
||
| redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
|
||
+------------------------------------
|
||
|
||
During handling of the above exception, another exception occurred:
|
||
|
||
Traceback (most recent call last):
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
|
||
await self.app(scope, receive, _send)
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
|
||
with recv_stream, send_stream, collapse_excgroups():
|
||
File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
|
||
self.gen.throw(typ, value, traceback)
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
|
||
raise exc
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in __call__
|
||
response = await self.dispatch_func(request, call_next)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/app/app/middleware/rate_limiter.py", line 20, in dispatch
|
||
current_requests = await cache_service.get(cache_key)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/app/app/services/cache_service.py", line 28, in get
|
||
return await self.redis_client.get(key)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 720, in execute_command
|
||
conn = self.connection or await pool.get_connection()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1198, in get_connection
|
||
await self.ensure_connection(connection)
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1231, in ensure_connection
|
||
await connection.connect()
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 298, in connect
|
||
await self.connect_check_health(check_health=True)
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 317, in connect_check_health
|
||
raise ConnectionError(self._error_message(e))
|
||
redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
|
||
2025-12-18 19:40:16 - app.middleware.error_handler - ERROR - Unhandled exception: Error 111 connecting to localhost:6379. Connection refused.
|
||
+ Exception Group Traceback (most recent call last):
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 79, in collapse_excgroups
|
||
| yield
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 192, in __call__
|
||
| async with anyio.create_task_group() as task_group:
|
||
| File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 783, in __aexit__
|
||
| raise BaseExceptionGroup(
|
||
| ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
|
||
+-+---------------- 1 ----------------
|
||
| Traceback (most recent call last):
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
|
||
| await self.app(scope, receive, _send)
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
|
||
| with recv_stream, send_stream, collapse_excgroups():
|
||
| File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
|
||
| self.gen.throw(typ, value, traceback)
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
|
||
| raise exc
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in __call__
|
||
| response = await self.dispatch_func(request, call_next)
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/app/app/middleware/rate_limiter.py", line 20, in dispatch
|
||
| current_requests = await cache_service.get(cache_key)
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/app/app/services/cache_service.py", line 28, in get
|
||
| return await self.redis_client.get(key)
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 720, in execute_command
|
||
| conn = self.connection or await pool.get_connection()
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1198, in get_connection
|
||
| await self.ensure_connection(connection)
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1231, in ensure_connection
|
||
| await connection.connect()
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 298, in connect
|
||
| await self.connect_check_health(check_health=True)
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 317, in connect_check_health
|
||
| raise ConnectionError(self._error_message(e))
|
||
| redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
|
||
+------------------------------------
|
||
|
||
During handling of the above exception, another exception occurred:
|
||
|
||
Traceback (most recent call last):
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
|
||
await self.app(scope, receive, _send)
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
|
||
with recv_stream, send_stream, collapse_excgroups():
|
||
File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
|
||
self.gen.throw(typ, value, traceback)
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
|
||
raise exc
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in __call__
|
||
response = await self.dispatch_func(request, call_next)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/app/app/middleware/rate_limiter.py", line 20, in dispatch
|
||
current_requests = await cache_service.get(cache_key)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/app/app/services/cache_service.py", line 28, in get
|
||
return await self.redis_client.get(key)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 720, in execute_command
|
||
conn = self.connection or await pool.get_connection()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1198, in get_connection
|
||
await self.ensure_connection(connection)
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1231, in ensure_connection
|
||
await connection.connect()
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 298, in connect
|
||
await self.connect_check_health(check_health=True)
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 317, in connect_check_health
|
||
raise ConnectionError(self._error_message(e))
|
||
redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
|
||
2025-12-18 19:40:16 - app.middleware.error_handler - ERROR - Unhandled exception: Error 111 connecting to localhost:6379. Connection refused.
|
||
+ Exception Group Traceback (most recent call last):
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 79, in collapse_excgroups
|
||
| yield
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 192, in __call__
|
||
| async with anyio.create_task_group() as task_group:
|
||
| File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 783, in __aexit__
|
||
| raise BaseExceptionGroup(
|
||
| ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
|
||
+-+---------------- 1 ----------------
|
||
| Traceback (most recent call last):
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
|
||
| await self.app(scope, receive, _send)
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
|
||
| with recv_stream, send_stream, collapse_excgroups():
|
||
| File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
|
||
| self.gen.throw(typ, value, traceback)
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
|
||
| raise exc
|
||
| File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in __call__
|
||
| response = await self.dispatch_func(request, call_next)
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/app/app/middleware/rate_limiter.py", line 20, in dispatch
|
||
| current_requests = await cache_service.get(cache_key)
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/app/app/services/cache_service.py", line 28, in get
|
||
| return await self.redis_client.get(key)
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 720, in execute_command
|
||
| conn = self.connection or await pool.get_connection()
|
||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1198, in get_connection
|
||
| await self.ensure_connection(connection)
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1231, in ensure_connection
|
||
| await connection.connect()
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 298, in connect
|
||
| await self.connect_check_health(check_health=True)
|
||
| File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 317, in connect_check_health
|
||
| raise ConnectionError(self._error_message(e))
|
||
| redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
|
||
+------------------------------------
|
||
|
||
During handling of the above exception, another exception occurred:
|
||
|
||
Traceback (most recent call last):
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
|
||
await self.app(scope, receive, _send)
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
|
||
with recv_stream, send_stream, collapse_excgroups():
|
||
File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
|
||
self.gen.throw(typ, value, traceback)
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
|
||
raise exc
|
||
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in __call__
|
||
response = await self.dispatch_func(request, call_next)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/app/app/middleware/rate_limiter.py", line 20, in dispatch
|
||
current_requests = await cache_service.get(cache_key)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/app/app/services/cache_service.py", line 28, in get
|
||
return await self.redis_client.get(key)
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 720, in execute_command
|
||
conn = self.connection or await pool.get_connection()
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1198, in get_connection
|
||
await self.ensure_connection(connection)
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 1231, in ensure_connection
|
||
await connection.connect()
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 298, in connect
|
||
await self.connect_check_health(check_health=True)
|
||
File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 317, in connect_check_health
|
||
raise ConnectionError(self._error_message(e))
|
||
redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
|
||
2025-12-18 22:55:17 - root - INFO - Starting up...
|
||
2025-12-18 22:55:17 - root - INFO - Starting up...
|
||
2025-12-18 22:56:56 - root - INFO - Starting up...
|
||
2025-12-18 22:56:56 - root - INFO - Shutting down...
|
||
2025-12-18 22:59:02 - root - INFO - Starting up...
|
||
2025-12-18 22:59:02 - root - INFO - Shutting down...
|
||
2025-12-18 22:59:53 - root - INFO - Starting up...
|
||
2025-12-18 22:59:53 - root - INFO - Starting up...
|
||
2025-12-18 22:59:53 - root - INFO - Shutting down...
|
||
2025-12-18 22:59:53 - root - INFO - Shutting down...
|
||
2025-12-18 20:00:09 - root - INFO - Shutting down...
|
||
2025-12-18 23:00:15 - root - INFO - Starting up...
|
||
2025-12-18 23:00:15 - root - INFO - Starting up...
|
||
2025-12-18 23:00:15 - root - INFO - Shutting down...
|
||
2025-12-18 23:00:15 - root - INFO - Shutting down...
|