Add full-text search for recipe titles

This commit is contained in:
Greg Burri 2025-05-21 00:03:20 +02:00
parent c24b0caeaf
commit a3f61e3711
3 changed files with 122 additions and 2 deletions

View file

@ -42,7 +42,7 @@ CREATE TABLE [User] (
)
) STRICT;
CREATE INDEX [validation_token_index] ON [User]([validation_token]);
CREATE INDEX [User_validation_token_index] ON [User]([validation_token]);
CREATE UNIQUE INDEX [User_email_index] ON [User]([email]);
CREATE TABLE [UserLoginToken] (
@ -93,6 +93,29 @@ CREATE TABLE [Recipe] (
FOREIGN KEY([user_id]) REFERENCES [User]([id]) ON DELETE SET NULL
) STRICT;
CREATE VIRTUAL TABLE [RecipeTitle] USING FTS5(
[title],
CONTENT = [Recipe],
CONTENT_ROWID = [id]
);
CREATE TRIGGER [Recipe_trigger_insert] AFTER INSERT ON [Recipe] BEGIN
INSERT INTO [RecipeTitle]([rowid], [title])
VALUES (NEW.[id], NEW.[title]);
END;
CREATE TRIGGER [Recipe_trigger_delete] AFTER DELETE ON [Recipe] BEGIN
INSERT INTO [RecipeTitle]([RecipeTitle], [rowid], [title])
VALUES ('delete', OLD.[id], OLD.[title]);
END;
CREATE TRIGGER [Recipe_trigger_update] AFTER UPDATE ON [Recipe] BEGIN
INSERT INTO [RecipeTitle]([RecipeTitle], [rowid], [title])
VALUES ('delete', OLD.[id], OLD.[title]);
INSERT INTO [RecipeTitle]([rowid], [title]) VALUES (NEW.[id], NEW.[title]);
END;
CREATE TABLE [Image] (
[id] INTEGER PRIMARY KEY,
[recipe_id] INTEGER NOT NULL,