If you are receiving an error in Snapt with the keywords: There has been a serious error: SQLSTATE then you likely have a crashed or corrupted SQLite database.
What is SQLite and what does Snapt use?
Snapt uses two SQLite databases – one for Snapt information and one for logging data.
These are flat file databases similar to MSSQL or MySQL that we use to store our configuration data, preferences, and then logging for all the modules.
These can be marked as “crashed” should you lose power while writing, or something else goes wrong. They can also lose tables in the event of a serious consistency failure.
Finding your SQLite databases
These are located in the “db/” folder in your Snapt install directory – typically “/srv/www/htdocs/db/” or “/usr/local/snapt/program/db/”. You can check by running the following:
ls -l /srv/www/htdocs/db ls -l /usr/local/snapt/program/db
You are looking for the folder that has your snapt.db, log.db and potentially other .db files.
Repairing the databases
You can repair them with the following command set. This will move them to -broken and then try to create them with clean new versions –
mv log.db log-broken.db echo ".dump" | sqlite3 log-broken.db | sqlite3 log.db mv waf.db waf-broken.db echo ".dump" | sqlite3 waf-broken.db | sqlite3 waf.db mv snapt.db snapt-broken.db echo ".dump" | sqlite3 snapt-broken.db | sqlite3 snapt.db chmod 777 log.db waf.db snapt.db
Checking the status
Now you can go to Reports -> Dashboard and then the Database Status tab in the user interface. You should see a status of Good and your various tables below that.