Крч кто не знал, в Heroku по стандарту "Эфемерное хранилище".

Это значит, что файлы можно читать/записывать, но при перезапуске кода вся файловая система очищается.



Также это означает, что если вы заюзаете SQLite в условном боте и зальете на хероку.

То ваша БД будет очищаться как минимум раз в 24 часа.

Поэтому для ботов на Heroku лучше юзать тот же PostgreSQL, либо перейти на условный Pythonanywhere.



Еще один минус в сторону использования SQLite на Heroku заключается в том, что данная СУБД не работает в виде сервиса.

А значит у каждого инстанса вашего Dyno вообще будет разный набор данных.



А для постоянного хранения, к примеру, загружаемых файлов на Heroku нужно использовать штуки вроде Amazon S3.

Либо какое-то другое внешнее файловое хранилище.

Такие дела.