add custom foods tables (custom_foods, cf_dat) 0.0.4
authorgamesguru <mathmuncher11@gmail.com>
Thu, 17 Jun 2021 15:42:53 +0000 (11:42 -0400)
committergamesguru <mathmuncher11@gmail.com>
Thu, 17 Jun 2021 16:02:25 +0000 (12:02 -0400)
sql/data/version.csv
sql/functions.sql
sql/tables.sql

index c61d3aae5f32bd17e12d2caddaeae0ead31b5800..308de8a85f46e086abdd7b62521bccfa8be5e362 100644 (file)
@@ -3,3 +3,4 @@ id,version,created,notes
 2,0.0.1,2021-05-21,bump version
 3,0.0.2,2021-05-24,remove guids
 4,0.0.3,2021-05-24,general cleanup
+5,0.0.4,2021-06-17,"add custom foods tables (custom_foods, cf_dat)"
index dda9dbcbb8bb6f72821e5d4ae7f046386ac6ea14..1746314b6a0800ac90b77ddb48d2e87d961dceff 100644 (file)
@@ -169,7 +169,6 @@ GROUP BY
 --------------------------------
 -- Last sync
 --------------------------------
-
 -- SELECT
 --   max((
 --     SELECT
@@ -184,4 +183,3 @@ GROUP BY
 --       last_sync FROM recipe_log), (
 --     SELECT
 --       last_sync FROM rda)) AS last_sync;
-
index d8812f732b4a617db1cc5e3ef4388f2062168801..656b803b114890950921ff6978f0a5de8a8347c2 100644 (file)
@@ -18,7 +18,6 @@ CREATE TABLE version( id integer PRIMARY KEY AUTOINCREMENT, version text NOT NUL
 );
 
 -- TODO: enforce FK constraint across two DBs?
-
 --
 ---------------------------------
 -- Equations
@@ -56,19 +55,6 @@ CREATE TABLE profiles (
   FOREIGN KEY (bf_eq_id) REFERENCES bf_eqs (id) ON UPDATE CASCADE
 );
 
---
---------------------------------
--- Food costs
---------------------------------
-
-CREATE TABLE food_costs (
-  food_id integer NOT NULL,
-  profile_id integer NOT NULL,
-  cost real NOT NULL,
-  PRIMARY KEY (food_id, profile_id),
-  FOREIGN KEY (profile_id) REFERENCES profiles (id) ON UPDATE CASCADE ON DELETE CASCADE
-);
-
 --
 --------------------------------
 -- Biometrics
@@ -125,6 +111,28 @@ CREATE TABLE recipe_dat (
   FOREIGN KEY (recipe_id) REFERENCES recipes (id) ON UPDATE CASCADE
 );
 
+--
+--------------------------------
+-- Custom foods
+--------------------------------
+
+CREATE TABLE custom_foods (
+  id integer PRIMARY KEY AUTOINCREMENT,
+  created int DEFAULT (strftime ('%s', 'now')),
+  updated int DEFAULT (strftime ('%s', 'now')),
+  tagname text NOT NULL UNIQUE,
+  name text NOT NULL UNIQUE
+);
+
+CREATE TABLE cf_dat (
+  cf_id int NOT NULL,
+  nutr_id int NOT NULL, -- no FK constraing on usda :[
+  nutr_val real NOT NULL,
+  notes text,
+  PRIMARY KEY (cf_id, nutr_id),
+  FOREIGN KEY (cf_id) REFERENCES custom_foods (id) ON UPDATE CASCADE
+);
+
 --
 --------------------------------
 -- Food (and recipe) logs
@@ -164,7 +172,6 @@ CREATE TABLE recipe_log (
 );
 
 -- TODO: CREATE TABLE custom_food_log ( ... );
-
 --
 --------------------------------
 -- Custom RDAs
@@ -178,3 +185,16 @@ CREATE TABLE rda (
   FOREIGN KEY (profile_id) REFERENCES profiles (id) ON UPDATE CASCADE
 );
 
+--
+--------------------------------
+-- Food costs
+--------------------------------
+
+CREATE TABLE food_costs (
+  food_id integer NOT NULL,
+  profile_id integer NOT NULL,
+  cost real NOT NULL,
+  PRIMARY KEY (food_id, profile_id),
+  FOREIGN KEY (profile_id) REFERENCES profiles (id) ON UPDATE CASCADE ON DELETE CASCADE
+);
+