Configurações

Agora que temos pelo menos uma tabela mapeada para uma classe precisamos estabelecer conexão com o banco de dados e para isso precisamos carregar configurações

Verifique o arquivo dundie/default.toml

[default]

[default.db]
uri = ""
connect_args = {check_same_thread=false}
echo = false

Lembra que no docker-compose.yaml passamos as variáveis DUNDIE_DB... aquelas variáveis vão sobrescrever os valores definidos no default.toml, por exemplo, DUNDIE_DB__uri=... irá preencher o valor uri na seção [default.db] do arquivo default.toml

Para carregar as configurações vamos usar o plugin dynaconf que já está instalado e só precisamos carregar criando uma instancia de settings que será o objeto usado durante toda a aplicação para acessar as configurações:

Veja em dundie/config.py como estamos inicializando o plugin de configurações.

"""Settings module"""
import os

from dynaconf import Dynaconf

HERE = os.path.dirname(os.path.abspath(__file__))

settings = Dynaconf(
    envvar_prefix="dundie",
    preload=[os.path.join(HERE, "default.toml")],
    settings_files=["settings.toml", ".secrets.toml"],
    environments=["development", "production", "testing"],
    env_switcher="dundie_env",
    load_dotenv=False,
)

No arquivo acima estamos definindo que o objeto settings irá carregar variáveis do arquivo default.toml e em seguida dos arquivos settings.toml e .secrets.toml e que será possivel usar DUNDIE_ como prefixo nas variáveis de ambiente para sobrescrever os valores.

Agora já podemos acessar esses valores e criar a conexão com o banco de dados -->