sqlite3.DatabaseError: database disk image is malformed
It can happen that the database gets corrupted. The error message you will get is something like sqlite3.DatabaseError: database disk image is malformed
This can be fixed by replacing it with a backup database. If you do not have backup of that file or the backup is to old, you can try the following steps:
- Make sure TerrariumPI is not running:
sudo service terrariumpi stop - Enter the TerrariumPI folder and enable the Python environment:
cd /home/pi/TerrariumPIsource venv/bin/activate
- Enter the
contribfolder:cd contrib - Run the
fix_db.pyscript and answer the questions:./fix_db.py. This will take some time. - When done, the database should be restored.
- Start TerrariumPI
sudo service terrariumpi start
A backup of the broken database is left at data/terrariumpi.db.broken. You can delete this database when TerrariumPI is running again. rm data/terrariumpi.db.broken
If this happens a lot, you could look at the FAQ item: Tune database settings to improve the database storage.
This post is licensed under CC BY 4.0 by the author.