feat: database with tortoise orm
Python Lint CI / ty (push) Successful in 1m22s
Python Lint CI / ruff (push) Successful in 1m22s
Python Lint CI / ruff-format-check (push) Successful in 1m22s

This commit is contained in:
2026-07-01 11:43:10 +02:00
parent deba8a73f9
commit c93a74b0f4
14 changed files with 248 additions and 1 deletions
+33
View File
@@ -0,0 +1,33 @@
import logging
import typing
import tortoise
import tortoise.config
import tortoise.migrations.api
if typing.TYPE_CHECKING:
from app.params import Parameters
class Database:
def __init__(self, params: Parameters) -> None:
self.env = params.env
self.logger = logging.getLogger(self.__class__.__name__)
self.config = tortoise.config.TortoiseConfig(
connections={"default": tortoise.config.DBUrlConfig(params.db_url)},
apps={
"models": tortoise.config.AppConfig(
models=["app.models"],
default_connection="default",
migrations="app.migrations",
)
},
)
def init(self) -> typing.Self:
self.logger.info("Initializing database")
tortoise.run_async(tortoise.Tortoise.init(config=self.config))
self.logger.info("Migrating database")
tortoise.run_async(tortoise.migrations.api.migrate(config=self.config))
self.logger.info("Database ready")
return self