lin*_*sek 7 linux sqlite command-line corruption
我正在寻找一个命令行实用程序来验证SQLite数据库.我遇到了一些继承代码的情况,其中一个应用程序无法启动,因为尝试访问数据库会产生以下错误:
database disk image is malformed
Run Code Online (Sandbox Code Playgroud)
所以我需要在应用程序中检测一些验证代码.另外,我需要一个工具,我可以从Linux提示符运行,告诉我数据库是否已损坏.
谢谢
您可以在数据库上使用PRAGMA integrity_check.
如果数据库已损坏,您可以使用此SQLite命令:
cd $DATABASE_LOCATION
echo '.dump'|sqlite3 $DB_NAME|sqlite3 new_repaired_$DB_NAME
mv $DB_NAME corrupt_$DB_NAME
mv new_repaired_$DB_NAME $DB_NAME
Run Code Online (Sandbox Code Playgroud)