Split db::Connection implementation in submodules (db::user and db::recipe).
This commit is contained in:
parent
4248d11aa9
commit
fce4eade73
17 changed files with 1307 additions and 1234 deletions
|
|
@ -47,7 +47,9 @@ CREATE TABLE [Recipe] (
|
|||
[id] INTEGER PRIMARY KEY,
|
||||
[user_id] INTEGER, -- Can be null if a user is deleted.
|
||||
[title] TEXT NOT NULL,
|
||||
[estimate_time] INTEGER,
|
||||
-- https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
|
||||
[lang] TEXT NOT NULL DEFAULT 'en',
|
||||
[estimate_time] INTEGER, -- in [s].
|
||||
[description] TEXT NOT NULL DEFAULT '',
|
||||
[difficulty] INTEGER NOT NULL DEFAULT 0,
|
||||
[servings] INTEGER DEFAULT 4,
|
||||
|
|
@ -61,7 +63,7 @@ CREATE TABLE [Image] (
|
|||
[recipe_id] INTEGER NOT NULL,
|
||||
[name] TEXT NOT NULL DEFAULT '',
|
||||
[description] TEXT NOT NULL DEFAULT '',
|
||||
[image] BLOB,
|
||||
[image] BLOB NOT NULL,
|
||||
|
||||
FOREIGN KEY([recipe_id]) REFERENCES [Recipe]([id]) ON DELETE CASCADE
|
||||
) STRICT;
|
||||
|
|
@ -80,26 +82,30 @@ CREATE TABLE [RecipeTag] (
|
|||
|
||||
CREATE TABLE [Tag] (
|
||||
[id] INTEGER PRIMARY KEY,
|
||||
[name] TEXT NOT NULL
|
||||
[name] TEXT NOT NULL,
|
||||
-- https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
|
||||
[lang] TEXT NOT NULL DEFAULT 'en'
|
||||
) STRICT;
|
||||
|
||||
CREATE UNIQUE INDEX [Tag_name_index] ON [Tag] ([name]);
|
||||
CREATE UNIQUE INDEX [Tag_name_lang_index] ON [Tag] ([name], [lang]);
|
||||
|
||||
CREATE TABLE [Ingredient] (
|
||||
[id] INTEGER PRIMARY KEY,
|
||||
[name] TEXT NOT NULL,
|
||||
[comment] TEXT NOT NULL DEFAULT '',
|
||||
[quantity_value] REAL,
|
||||
[quantity_unit] TEXT NOT NULL DEFAULT '',
|
||||
[input_group_id] INTEGER NOT NULL,
|
||||
[input_step_id] INTEGER NOT NULL,
|
||||
|
||||
FOREIGN KEY([input_group_id]) REFERENCES [Group]([id]) ON DELETE CASCADE
|
||||
FOREIGN KEY([input_step_id]) REFERENCES [Step]([id]) ON DELETE CASCADE
|
||||
) STRICT;
|
||||
|
||||
CREATE TABLE [Group] (
|
||||
[id] INTEGER PRIMARY KEY,
|
||||
[order] INTEGER NOT NULL DEFAULT 0,
|
||||
[recipe_id] INTEGER,
|
||||
[recipe_id] INTEGER NOT NULL,
|
||||
[name] TEXT NOT NULL DEFAULT '',
|
||||
[comment] TEXT NOT NULL DEFAULT '',
|
||||
|
||||
FOREIGN KEY([recipe_id]) REFERENCES [Recipe]([id]) ON DELETE CASCADE
|
||||
) STRICT;
|
||||
|
|
@ -117,14 +123,14 @@ CREATE TABLE [Step] (
|
|||
|
||||
CREATE INDEX [Step_order_index] ON [Group]([order]);
|
||||
|
||||
CREATE TABLE [IntermediateSubstance] (
|
||||
[id] INTEGER PRIMARY KEY,
|
||||
[name] TEXT NOT NULL DEFAULT '',
|
||||
[quantity_value] REAL,
|
||||
[quantity_unit] TEXT NOT NULL DEFAULT '',
|
||||
[output_group_id] INTEGER NOT NULL,
|
||||
[input_group_id] INTEGER NOT NULL,
|
||||
-- CREATE TABLE [IntermediateSubstance] (
|
||||
-- [id] INTEGER PRIMARY KEY,
|
||||
-- [name] TEXT NOT NULL DEFAULT '',
|
||||
-- [quantity_value] REAL,
|
||||
-- [quantity_unit] TEXT NOT NULL DEFAULT '',
|
||||
-- [output_group_id] INTEGER NOT NULL,
|
||||
-- [input_group_id] INTEGER NOT NULL,
|
||||
|
||||
FOREIGN KEY([output_group_id]) REFERENCES [group]([id]) ON DELETE CASCADE,
|
||||
FOREIGN KEY([input_group_id]) REFERENCES [group]([id]) ON DELETE CASCADE
|
||||
) STRICT;
|
||||
-- FOREIGN KEY([output_group_id]) REFERENCES [group]([id]) ON DELETE CASCADE,
|
||||
-- FOREIGN KEY([input_group_id]) REFERENCES [group]([id]) ON DELETE CASCADE
|
||||
-- ) STRICT;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue