что многие из этих сред на самом деле не используют файл my_project.sqlite3, поставляемый с исходным хранилищем
Если ваша платформа развертывания не поддерживает выбранную вами базу данных, то ваша среда разработкиВероятно, следует перейти к использованию одной из баз данных, которые они поддерживают. Можно запускать разные базы данных при разработке и производстве, но это кажется источником головной боли.
Я обнаружил ряд статей, в которых говорится, что Heroku просто не поддерживает SQLite в рабочей среде, и вместо этого рекомендует Postgres.
Как включить изменения в развернутую базу данных? Подходит ли сценарий, который устанавливает базу данных для этого сценария?
Я предполагаю, что вы просто извлекаете данные из одной базы данных для передачи в другую, так что да, если этот сценарий является одноразовой пакетной операцией при каждом обновлении кода, то это должно бытьхорошо. Вам понадобится что-то еще, если вы добавляете / манипулируете данными в рабочей среде, а затем экспортируете их в свой git.
Между тем, стоит заметить, что существуют учетные данные безопасности, которые не должны появляться в скрипте в незашифрованном виде
Переменная среды должна решить эту проблему. Вы устанавливаете на хост-компьютере переменные среды с вашими учетными данными, а затем просто извлекаете их в сценарии. Вы ищете что-то вроде этого:
# Set environment vars
os.environ['USER'] = 'username'
os.environ['PASSWORD'] = 'password'
# Get environment vars
USER = os.getenv('USER')
PASSWORD = os.environ.get('PASSWORD')