dbhash (dbhash.exe в Windows) это утилита, командной строки, которая вычисляет хэш SHA1 схемы и содержания для базы данных SQLite.
Dbhash игнорирует посторонние детали форматирования и хэширует только схему базы данных и содержание. Следовательно, хэш постоянен, даже если файл базы данных изменяется с помощью:
Операции выше могут потенциально вызвать обширные изменения сырого файла базы данных, и следовательно вызвать совсем другие хэши SHA1 на уровне файла. Но так как содержание, представленное в файле базы данных, неизменно этими операциями, хэш, вычисленный dbhash, прежний.
Dbhash может использоваться, чтобы сравнить две базы данных, чтобы подтвердить, что они эквивалентны, даже при том, что их представление на диске очень отличается. Dbhash мог бы также использоваться, чтобы проверить содержание удаленной базы данных, не имея необходимость передавать все содержание базы данных по медленной связи.
Dbhash это утилита командной строки. Введите "dbhash" в командной строке, сопровождаемое названиями одного или более файлов базы данных SQLite, которые должны хэшироваться. Хэши баз данных будут показаны в стандартном выводе. Например:
drh@bella:~/sqlite/bld$ dbhash ~/Fossils/sqlite.fossil 8d3da9ff87196312aaa33076627ccb7943ef79e3 /home/drh/Fossils/sqlite.fossil
Dbhash поддерживает параметры командной строки, которые могут ограничить таблицы файла базы данных, которые хэшируются, или ограничивают хэш только содержанием или только схемой. Для справки используйте "dbhash --help".
Чтобы построить копию dbhash в unix, получите копию канонического исходного кода SQLite и введите:
./configure make dbhash
В Windows:
nmake /f makefile.msc dbhash.exe
dbhash осуществляется единственным файлом C-кода dbhash.c. Чтобы построить программу dbhash вручную, просто соберите исходный файл dbhash.c и скомпонуйте его с библиотекой SQLite.