I developed a Streamlit app that relies on a SQLite db. I want the data in the database to be updated once a week so I set up a GitHub Actions workflow that triggers a scraping script and pushes the changes back to the repository. I see the push being noticed on Community Cloud, but the database itself doesn’t change on the app… It only changes when I manually reboot the Streamlit app.
When I check the webhook, I see that both the .db file and another .txt file are effectively modified. Only the second file’s changes (to show the last refresh date on my home page) are carried forward to the app though.
Only the last attempt seems to have helped (I’ll wait for a next update to be sure).
It still feels suboptimal, because it doesn’t permit proper caching and it doesn’t explain why a git committed change in the database file is ignored on Streamlit Community Cloud. I know SQLite is a semi-persistent storage so I assume it’s held on to somewhere on the server side, but not sure if that explains it.
@sborms any updates on this points, a student is working on a similar project where we are having the same persistence issue with sqLite database in GitHub.
If the database is constantly changing, I wouldn’t make life difficult for myself and host the database externally; there are even free options for small databases.
I can think of another possibility, namely modifying the streamlit app itself each time with the github action and changing a dummy constant, e.g. a hash in the python code.
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.