2019-07-05 11:54:18 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
# shellcheck disable=SC1090
|
|
|
|
|
|
|
|
# Pi-hole: A black hole for Internet advertisements
|
|
|
|
# (c) 2019 Pi-hole, LLC (https://pi-hole.net)
|
|
|
|
# Network-wide ad blocking via your own hardware.
|
|
|
|
#
|
|
|
|
# Updates gravity.db database
|
|
|
|
#
|
|
|
|
# This file is copyright under the latest version of the EUPL.
|
|
|
|
# Please see LICENSE file for your rights under this license.
|
|
|
|
|
|
|
|
upgrade_gravityDB(){
|
2019-07-09 09:41:44 +00:00
|
|
|
local database piholeDir auditFile version
|
2019-07-07 08:46:20 +00:00
|
|
|
database="${1}"
|
2019-07-09 09:41:44 +00:00
|
|
|
piholeDir="${2}"
|
|
|
|
auditFile="${piholeDir}/auditlog.list"
|
|
|
|
|
|
|
|
# Get database version
|
2019-07-07 08:46:20 +00:00
|
|
|
version="$(sqlite3 "${database}" "SELECT \"value\" FROM \"info\" WHERE \"property\" = 'version';")"
|
2019-07-05 12:03:57 +00:00
|
|
|
|
2019-07-06 07:32:41 +00:00
|
|
|
if [[ "$version" == "1" ]]; then
|
2019-07-07 08:33:08 +00:00
|
|
|
# This migration script upgrades the gravity.db file by
|
2019-07-07 19:21:56 +00:00
|
|
|
# adding the domain_audit table
|
2019-07-07 08:46:20 +00:00
|
|
|
sqlite3 "${database}" < "/etc/.pihole/advanced/Scripts/database_migration/gravity/1_to_2.sql"
|
2019-07-06 07:32:41 +00:00
|
|
|
version=2
|
2019-07-07 08:33:08 +00:00
|
|
|
|
|
|
|
# Store audit domains in database table
|
|
|
|
if [ -e "${auditFile}" ]; then
|
|
|
|
echo -e " ${INFO} Migrating content of ${auditFile} into new database"
|
|
|
|
# database_table_from_file is defined in gravity.sh
|
2019-07-07 19:21:56 +00:00
|
|
|
database_table_from_file "domain_audit" "${auditFile}"
|
2019-07-07 08:33:08 +00:00
|
|
|
fi
|
2019-07-06 07:32:41 +00:00
|
|
|
fi
|
2019-07-08 19:23:46 +00:00
|
|
|
if [[ "$version" == "2" ]]; then
|
|
|
|
# This migration script upgrades the gravity.db file by
|
|
|
|
# renaming the regex table to regex_blacklist, and
|
|
|
|
# creating a new regex_whitelist table + corresponding linking table and views
|
|
|
|
sqlite3 "${database}" < "/etc/.pihole/advanced/Scripts/database_migration/gravity/2_to_3.sql"
|
|
|
|
version=3
|
|
|
|
fi
|
2019-09-04 21:14:29 +00:00
|
|
|
if [[ "$version" == "3" ]]; then
|
2019-09-07 09:17:53 +00:00
|
|
|
# This migration script upgrades the gravity and adlist views
|
|
|
|
# implementing necessary changes for per-client blocking
|
2019-09-04 21:14:29 +00:00
|
|
|
sqlite3 "${database}" < "/etc/.pihole/advanced/Scripts/database_migration/gravity/3_to_4.sql"
|
|
|
|
version=3
|
|
|
|
fi
|
2019-07-05 11:54:18 +00:00
|
|
|
}
|