Крч кто не знал, в Heroku по стандарту "Эфемерное хранилище".
Это значит, что файлы можно читать/записывать, но при перезапуске кода вся файловая система очищается.
Также это означает, что если вы заюзаете SQLite в условном боте и зальете на хероку.
То ваша БД будет очищаться как минимум раз в 24 часа.
Поэтому для ботов на Heroku лучше юзать тот же PostgreSQL, либо перейти на условный Pythonanywhere.
Еще один минус в сторону использования SQLite на Heroku заключается в том, что данная СУБД не работает в виде сервиса.
А значит у каждого инстанса вашего Dyno вообще будет разный набор данных.
А для постоянного хранения, к примеру, загружаемых файлов на Heroku нужно использовать штуки вроде Amazon S3.
Либо какое-то другое внешнее файловое хранилище.
Такие дела.