9673d25488433aeffa6d723e8aa6dbd0bb82d934
1 -- Version 1 is the initial structure.
2 CREATE TABLE [Version] (
3 [id] INTEGER PRIMARY KEY,
4 [version] INTEGER NOT NULL UNIQUE,
9 [id] INTEGER PRIMARY KEY,
10 [email
] TEXT NOT NULL,
11 [password] TEXT NOT NULL, -- Hashed and salted.
15 CREATE TABLE [Recipe
] (
16 [id] INTEGER PRIMARY KEY,
17 [user_id
] INTEGER NOT NULL,
18 [title
] TEXT NOT NULL,
19 [estimate_time
] INTEGER,
22 FOREIGN KEY([user_id
]) REFERENCES [User]([id])
25 CREATE TABLE [Quantity
] (
26 [id] INTEGER PRIMARY KEY,
31 CREATE TABLE [Ingredient
] (
32 [id] INTEGER PRIMARY KEY,
34 [quantity_id
] INTEGER,
35 [input_step_id
] INTEGER NOT NULL,
37 FOREIGN KEY([quantity_id
]) REFERENCES Quantity([id]),
38 FOREIGN KEY([input_step_id
]) REFERENCES Step([id])
41 CREATE TABLE [Group] (
42 [id] INTEGER PRIMARY KEY,
43 [order] INTEGER NOT NULL DEFAULT 0,
47 FOREIGN KEY([recipe_id
]) REFERENCES [Recipe
]([id])
50 CREATE INDEX [Group_order_index
] ON [Group] ([order]);
53 [id] INTEGER PRIMARY KEY,
54 [order] INTEGER NOT NULL DEFAULT 0,
55 [action] TEXT NOT NULL,
56 [group_id
] INTEGER NOT NULL,
58 FOREIGN KEY(group_id
) REFERENCES [Group](id)
61 CREATE INDEX [Step_order_index
] ON [Group] ([order]);
63 CREATE TABLE [IntermediateSubstance
] (
64 [id] INTEGER PRIMARY KEY,
66 [quantity_id
] INTEGER,
67 [output_step_id
] INTEGER NOT NULL,
68 [input_step_id
] INTEGER NOT NULL,
70 FOREIGN KEY([quantity_id
]) REFERENCES [Quantity
]([id]),
71 FOREIGN KEY([output_step_id
]) REFERENCES [Step
]([id]),
72 FOREIGN KEY([input_step_id
]) REFERENCES [Step
]([id])