#!/bin/bash
DB=your_sqlite.db
TABLE="some_table"
INDEXES="$(echo "SELECT name FROM sqlite_master WHERE type == 'index' AND tbl_name = '$TABLE;" | sqlite3 $DB)"
for i in $INDEXES; do
echo "DROP INDEX '$i';" | sqlite3 $DB
done
Убедитесь, что никакой другой процесс не обращается к базе данных, пока вы вызываете этот скрипт, или, если это невозможно, добавьте
PRAGMA busy_timeout=20000;
в каждом echo
, который вы отправляете в базу данных