Используйте этот код для загрузки настроек MySQL/MariaDB из переменных окружения с помощью библиотеки pydantic_settings:
mariadb_settings.py
from pydantic_settings import BaseSettings
class MariaDBSettings(BaseSettings):
hostname: str = "mariadb"
user: str = "root"
password: str = "abc123"
database: str = "mydb"
class Config:
env_prefix = 'MARIADB_'Опционально: если вы хотите загрузить из файла .env, вы можете использовать load_dotenv из библиотеки dotenv:
load_dotenv_example.py
# Load environment variables from a .env file if necessary
# This step is optional and only needed if you are using a .env file
from dotenv import load_dotenv
load_dotenv()Пример использования
mariadb_settings_usage.py
settings = MariaDBSettings()
print("MARIADB_HOSTNAME:", settings.hostname)
print("MARIADB_USER:", settings.user)
print("MARIADB_PASSWORD:", settings.password)
print("MARIADB_DATABASE:", settings.database)Пример вывода:
mariadb_settings_default_output.sh
$ ./mariadb_settings.py
MARIADB_HOSTNAME: mariadb
MARIADB_USER: root
MARIADB_PASSWORD: abc123
MARIADB_DATABASE: mydbmariadb_settings_env_output.sh
$ MARIADB_HOSTNAME=10.1.2.3 ./mariadb_settings.py
MARIADB_HOSTNAME: 10.1.2.3
MARIADB_USER: root
MARIADB_PASSWORD: abc123
MARIADB_DATABASE: mydbIf this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow