Files
bracket/backend/bracket/database.py
Erik Vroon 61611066cd Pydantic v2 migration (#252)
Upgrade Pydantic to V2.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-09 11:51:14 +01:00

28 lines
717 B
Python

from typing import Any
import sqlalchemy
from databases import Database
from heliclockter import datetime_utc
from bracket.config import config
def datetime_decoder(value: str) -> datetime_utc:
value = value.split(".")[0].replace("+00", "+00:00")
return datetime_utc.fromisoformat(value)
async def asyncpg_init(connection: Any) -> None:
for timestamp_type in ("timestamp", "timestamptz"):
await connection.set_type_codec(
timestamp_type,
encoder=datetime_utc.isoformat,
decoder=datetime_decoder,
schema="pg_catalog",
)
database = Database(str(config.pg_dsn), init=asyncpg_init)
engine = sqlalchemy.create_engine(str(config.pg_dsn))