mirror of
https://github.com/pi-hole/pi-hole.git
synced 2025-04-23 07:40:15 +00:00
Add antigravity support to gravity (#5330)
This commit is contained in:
commit
69a264a3c2
4 changed files with 68 additions and 10 deletions
|
@ -134,4 +134,11 @@ upgrade_gravityDB(){
|
|||
pihole-FTL sqlite3 "${database}" < "${scriptPath}/15_to_16.sql"
|
||||
version=16
|
||||
fi
|
||||
if [[ "$version" == "16" ]]; then
|
||||
# Add antigravity table
|
||||
# Add column type to adlist table (to support adlist types)
|
||||
echo -e " ${INFO} Upgrading gravity database from version 16 to 17"
|
||||
pihole-FTL sqlite3 "${database}" < "${scriptPath}/16_to_17.sql"
|
||||
version=17
|
||||
fi
|
||||
}
|
||||
|
|
27
advanced/Scripts/database_migration/gravity/16_to_17.sql
Normal file
27
advanced/Scripts/database_migration/gravity/16_to_17.sql
Normal file
|
@ -0,0 +1,27 @@
|
|||
.timeout 30000
|
||||
|
||||
PRAGMA FOREIGN_KEYS=OFF;
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
ALTER TABLE adlist ADD COLUMN type INTEGER NOT NULL DEFAULT 0;
|
||||
|
||||
UPDATE adlist SET type = 0;
|
||||
|
||||
CREATE VIEW vw_antigravity AS SELECT domain, adlist_by_group.group_id AS group_id
|
||||
FROM antigravity
|
||||
LEFT JOIN adlist_by_group ON adlist_by_group.adlist_id = antigravity.adlist_id
|
||||
LEFT JOIN adlist ON adlist.id = antigravity.adlist_id
|
||||
LEFT JOIN "group" ON "group".id = adlist_by_group.group_id
|
||||
WHERE adlist.enabled = 1 AND (adlist_by_group.group_id IS NULL OR "group".enabled = 1) AND adlist.type = 1;
|
||||
|
||||
DROP VIEW vw_adlist;
|
||||
|
||||
CREATE VIEW vw_adlist AS SELECT DISTINCT address, id, type
|
||||
FROM adlist
|
||||
WHERE enabled = 1
|
||||
ORDER BY id;
|
||||
|
||||
UPDATE info SET value = 17 WHERE property = 'version';
|
||||
|
||||
COMMIT;
|
|
@ -36,7 +36,8 @@ CREATE TABLE adlist
|
|||
number INTEGER NOT NULL DEFAULT 0,
|
||||
invalid_domains INTEGER NOT NULL DEFAULT 0,
|
||||
status INTEGER NOT NULL DEFAULT 0,
|
||||
abp_entries INTEGER NOT NULL DEFAULT 0
|
||||
abp_entries INTEGER NOT NULL DEFAULT 0,
|
||||
type INTEGER NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE TABLE adlist_by_group
|
||||
|
@ -52,13 +53,19 @@ CREATE TABLE gravity
|
|||
adlist_id INTEGER NOT NULL REFERENCES adlist (id)
|
||||
);
|
||||
|
||||
CREATE TABLE antigravity
|
||||
(
|
||||
domain TEXT NOT NULL,
|
||||
adlist_id INTEGER NOT NULL REFERENCES adlist (id)
|
||||
);
|
||||
|
||||
CREATE TABLE info
|
||||
(
|
||||
property TEXT PRIMARY KEY,
|
||||
value TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO "info" VALUES('version','16');
|
||||
INSERT INTO "info" VALUES('version','17');
|
||||
|
||||
CREATE TABLE domain_audit
|
||||
(
|
||||
|
@ -144,7 +151,14 @@ CREATE VIEW vw_gravity AS SELECT domain, adlist_by_group.group_id AS group_id
|
|||
LEFT JOIN "group" ON "group".id = adlist_by_group.group_id
|
||||
WHERE adlist.enabled = 1 AND (adlist_by_group.group_id IS NULL OR "group".enabled = 1);
|
||||
|
||||
CREATE VIEW vw_adlist AS SELECT DISTINCT address, id
|
||||
CREATE VIEW vw_antigravity AS SELECT domain, adlist_by_group.group_id AS group_id
|
||||
FROM antigravity
|
||||
LEFT JOIN adlist_by_group ON adlist_by_group.adlist_id = antigravity.adlist_id
|
||||
LEFT JOIN adlist ON adlist.id = antigravity.adlist_id
|
||||
LEFT JOIN "group" ON "group".id = adlist_by_group.group_id
|
||||
WHERE adlist.enabled = 1 AND (adlist_by_group.group_id IS NULL OR "group".enabled = 1) AND adlist.type = 1;
|
||||
|
||||
CREATE VIEW vw_adlist AS SELECT DISTINCT address, id, type
|
||||
FROM adlist
|
||||
WHERE enabled = 1
|
||||
ORDER BY id;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue