Из-за того, что ваше приложение Heroku потенциально может быть запущено на нескольких серверах с течением времени, невозможно гарантировать, что ваш файл posts.txt
будет оставаться согласованным в течение долгого времени. Также, как вы вносите изменения, и, как вы заметили, они могут быть легко перезаписаны.
Heroku может завершить работу вашего приложения и запустить его на другом сервере по мере необходимости. Почти как настройка типа без сервера.
Это означает, что не существует реального способа обеспечить стабильное сохранение данных в Heroku без какого-либо типа слоя базы данных.
Замечательный момент, упомянутый в комментариях, которые я забыл упомянуть. Файл также будет удален после циклирования, потому что файловая система эфемерна. Вы можете найти больше информации о загрузках файлов, отсутствующих / удаленных на сайте Heroku здесь .
Еще одна вещь, связанная с этим, - даже если вы используете какой-либо тип VPS или что-то в этом роде, вы все равно столкнетесь с проблемой синхронизации сообщений на локальном компьютере во время разработки и обеспечения их синхронизации. Слой базы данных, безусловно, путь сюда.