Only migrate legacy list files when we create gravity.db in the same gravity run

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER 2019-05-01 18:04:31 +02:00
parent 2f698904e4
commit 008e88b84b
No known key found for this signature in database
GPG key ID: 00135ACBD90B28DD

View file

@ -93,12 +93,6 @@ database_table_from_file() {
backup_path="${piholeDir}/migration_backup" backup_path="${piholeDir}/migration_backup"
backup_file="${backup_path}/$(basename "${2}")" backup_file="${backup_path}/$(basename "${2}")"
# Create database file if not present
if [ ! -e "${gravityDBfile}" ]; then
echo -e " ${INFO} Creating new gravity database"
generate_gravity_database
fi
# Truncate table # Truncate table
output=$( { sqlite3 "${gravityDBfile}" <<< "DELETE FROM ${table};"; } 2>&1 ) output=$( { sqlite3 "${gravityDBfile}" <<< "DELETE FROM ${table};"; } 2>&1 )
status="$?" status="$?"
@ -155,26 +149,33 @@ database_table_from_file() {
# Migrate pre-v5.0 list files to database-based Pi-hole versions # Migrate pre-v5.0 list files to database-based Pi-hole versions
migrate_to_database() { migrate_to_database() {
# Create database file if not present
if [ ! -e "${gravityDBfile}" ]; then
echo -e " ${INFO} Creating new gravity database"
generate_gravity_database
# Migrate list files to new database
if [[ -e "${adListFile}" ]]; then if [[ -e "${adListFile}" ]]; then
# Store adlists domains in database # Store adlists domains in database
echo -e " ${INFO} Pi-hole upgrade: Moving content of ${adListFile} into database" echo -e " ${INFO} Migrating content of ${adListFile} into new database"
database_table_from_file "adlists" "${adListFile}" database_table_from_file "adlists" "${adListFile}"
fi fi
if [[ -e "${blacklistFile}" ]]; then if [[ -e "${blacklistFile}" ]]; then
# Store blacklisted domains in database # Store blacklisted domains in database
echo -e " ${INFO} Pi-hole upgrade: Moving content of ${blacklistFile} into database" echo -e " ${INFO} Migrating content of ${blacklistFile} into new database"
database_table_from_file "blacklist" "${blacklistFile}" database_table_from_file "blacklist" "${blacklistFile}"
fi fi
if [[ -e "${whitelistFile}" ]]; then if [[ -e "${whitelistFile}" ]]; then
# Store whitelisted domains in database # Store whitelisted domains in database
echo -e " ${INFO} Pi-hole upgrade: Moving content of ${whitelistFile} into database" echo -e " ${INFO} Migrating content of ${whitelistFile} into new database"
database_table_from_file "whitelist" "${whitelistFile}" database_table_from_file "whitelist" "${whitelistFile}"
fi fi
if [[ -e "${regexFile}" ]]; then if [[ -e "${regexFile}" ]]; then
# Store regex domains in database # Store regex domains in database
echo -e " ${INFO} Pi-hole upgrade: Moving content of ${regexFile} into database" echo -e " ${INFO} Migrating content of ${regexFile} into new database"
database_table_from_file "regex" "${regexFile}" database_table_from_file "regex" "${regexFile}"
fi fi
fi
} }
# Determine if DNS resolution is available before proceeding # Determine if DNS resolution is available before proceeding