buku
buku copied to clipboard
SQLite table for tags
Feature requests
This is a proposal to add two tables to the database.
Table: Bookmarks
Columns: Bookmark_ID, Bookmark_Title, ...
Table: Tags
Columns: Tag_ID, Tag_Name
Table: Bookmarks_Tags
Columns: Bookmark_ID, Tag_ID
This should be storage wise and accelerate queries.
See my implementation at Slixfeed/sqlite.py
tagged_feeds_table_sql = (
"""
CREATE TABLE IF NOT EXISTS tagged_feeds (
id INTEGER NOT NULL,
feed_id INTEGER NOT NULL,
tag_id INTEGER NOT NULL,
FOREIGN KEY ("feed_id") REFERENCES "feeds" ("id")
ON UPDATE CASCADE
ON DELETE CASCADE,
FOREIGN KEY ("tag_id") REFERENCES "tags" ("id")
ON UPDATE CASCADE
ON DELETE CASCADE,
PRIMARY KEY ("id")
);
"""
)
id INTEGER NOT NULL,
feed_id INTEGER NOT NULL,
tag_id INTEGER NOT NULL,
-- ...
PRIMARY KEY ("id")
Wouldn't the primary key be normally feed_id, tag_id
in such tables (without a need for a dedicated id
column)?
Yes, and I think this is what Liferea does too.
I am not an expert, so please do not consider my advises fully.