У меня вопрос относительно того, где хранить данные в зависимости от того, когда программа запускается для тестирования, а не в рабочей среде.
В частности, в моем случае меняют пути к файлам для базы данных SQLite.
Я неопытен и в основном пишу программы, в которых я просто храню данные в том же каталоге, где находится исходный код. Однако сейчас я работаю над проектом по очистке веб-страниц с конвейером ETL, работающим как задание cron на домашнем сервере. Я планирую запустить его в контейнере, вероятно, используя Docker или Podman. Я также тестирую этапы конвейера локально на своем рабочем компьютере, запуская сценарии Python напрямую без контейнеризации. Каждый шаг конвейера выполняет чтение/запись в базу данных SQLite.
Где мне следует хранить базы данных?
Должен ли я изменить имя базы данных и использовать одни и те же пути к базе данных для тестирования и эксплуатации?
Должен ли я использовать абсолютные пути и всегда помещать свои базы данных, например, в /srv/my_project? Я заметил, что мой сервер Debian создал несколько файловых систем и выделил около 80 % дискового пространства для /srv, но я также читал, что /var/lib используется некоторыми базами данных, например PostgreSQL?
Как определить, тестируется ли программа или находится в рабочей среде?
Должен ли я устанавливать переменные среды, указывать аргумент при запуске программы или что-то еще?
Подробнее здесь: https://stackoverflow.com/questions/798 ... production