DB_USER=postgres
DB_PASSWORD=test123
DB_HOST=localhost
DB_PORT=5432
DB_NAME=greenid
Также эта ошибка возникла при попытке запустить init_db.py:
from database import Base, engine
import models
Base.metadata.create_all(bind=engine)
print("Таблицы успешно созданы")
и, возможно, если вам нужен data.py:
import os
from dotenv import load_dotenv
from urllib.parse import quote_plus
from sqlalchemy import create_engine
from sqlalchemy.orm import declarative_base
#
load_dotenv()
print("DB_PASSWORD =", os.getenv("DB_PASSWORD"))
#
DB_USER = os.getenv("DB_USER")
DB_PASSWORD_RAW = os.getenv("DB_PASSWORD")
DB_HOST = os.getenv("DB_HOST")
DB_PORT = os.getenv("DB_PORT")
DB_NAME = os.getenv("DB_NAME")
#
if DB_PASSWORD_RAW is None:
raise RuntimeError("
#
DB_PASSWORD = quote_plus(DB_PASSWORD_RAW)
DATABASE_URL = (
f"postgresql+psycopg2://{DB_USER}:{DB_PASSWORD}"
f"@{DB_HOST}:{DB_PORT}/{DB_NAME}"
)
engine = create_engine(DATABASE_URL)
Base = declarative_base()
Сама ошибка:
DB_PASSWORD = test123
Traceback (most recent call last):
File "C:\Users\bekan\Desktop\greenid-backend\init_db.py", line 4, in
Base.metadata.create_all(bind=engine)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\sql\schema.py", line 5928, in create_all
bind._run_ddl_visitor(
~~~~~~~~~~~~~~~~~~~~~^
ddl.SchemaGenerator, self, checkfirst=checkfirst, tables=tables
)
^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\engine\base.py", line 3259, in _run_ddl_visitor
with self.begin() as conn:
~~~~~~~~~~^^
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.13_3.13.2544.0_x64__qbz5n2kfra8p0\Lib\contextlib.py", line 141, in __enter__
return next(self.gen)
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\engine\base.py", line 3249, in begin
with self.connect() as conn:
~~~~~~~~~~~~^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\engine\base.py", line 3285, in connect
return self._connection_cls(self)
~~~~~~~~~~~~~~~~~~~~^^^^^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\engine\base.py", line 143, in __init__
self._dbapi_connection = engine.raw_connection()
~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\engine\base.py", line 3309, in raw_connection
return self.pool.connect()
~~~~~~~~~~~~~~~~~^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\pool\base.py", line 447, in connect
return _ConnectionFairy._checkout(self)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\pool\base.py", line 1264, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\pool\base.py", line 711, in checkout
rec = pool._do_get()
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\pool\impl.py", line 177, in _do_get
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 224, in __exit__
raise exc_value.with_traceback(exc_tb)
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\pool\impl.py", line 175, in _do_get
return self._create_connection()
~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\pool\base.py", line 388, in _create_connection
return _ConnectionRecord(self)
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\pool\base.py", line 673, in __init__
self.__connect()
~~~~~~~~~~~~~~^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\pool\base.py", line 899, in __connect
with util.safe_reraise():
~~~~~~~~~~~~~~~~~^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 224, in __exit__
raise exc_value.with_traceback(exc_tb)
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\pool\base.py", line 895, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
~~~~~~~~~~~~~~~~~~~~^^^^^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\engine\create.py", line 661, in connect
return dialect.connect(*cargs, **cparams)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\sqlalchemy\engine\default.py", line 630, in connect
return self.loaded_dbapi.connect(*cargs, **cparams) # type: ignore[no-any-return] # NOQA: E501
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "C:\Users\bekan\Desktop\greenid-backend\venv\Lib\site-packages\psycopg2\__init__.py", line 135, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc2 in position 61: invalid continuation byte
Подробнее здесь: https://stackoverflow.com/questions/798 ... ate-tables
Мобильная версия