text: DROP TRIGGER create_internal_recipe;
  CREATE TRIGGER create_internal_recipe AFTER INSERT ON meal_plan
  BEGIN
  	/* This contains practically the same logic as the trigger remove_internal_recipe */
  
  	-- Create a recipe per day
  	DELETE FROM recipes
  	WHERE name = NEW.day
  		AND type = 'mealplan-day';
  
  	INSERT OR REPLACE INTO recipes
  		(id, name, type)
  	VALUES
  		((SELECT MIN(id) - 1 FROM recipes), NEW.day, 'mealplan-day');
  	
  	-- Create a recipe per week
  	DELETE FROM recipes
  	WHERE name = LTRIM(STRFTIME('%Y-%W', NEW.day), '0')
  		AND type = 'mealplan-week';
  
  	INSERT INTO recipes
  		(id, name, type)
  	VALUES
  		((SELECT MIN(id) - 1 FROM recipes), LTRIM(STRFTIME('%Y-%W', NEW.day), '0'), 'mealplan-week');
  	
  	-- Delete all current nestings entries for the day and week recipe
  	DELETE FROM recipes_nestings
  	WHERE recipe_id IN (SELECT id FROM recipes WHERE name = NEW.day AND type = 'mealplan-day')
  		OR recipe_id IN (SELECT id FROM recipes WHERE name = NEW.day AND type = 'mealplan-week');
  
  	-- Add all recipes for this day as included recipes in the day-recipe
  	INSERT INTO recipes_nestings
  		(recipe_id, includes_recipe_id, servings)
  	SELECT (SELECT id FROM recipes WHERE name = NEW.day AND type = 'mealplan-day'), recipe_id, SUM(servings)
  	FROM meal_plan
  	WHERE day = NEW.day
  	GROUP BY recipe_id;
  
  	-- Add all recipes for this week as included recipes in the week-recipe
  	INSERT INTO recipes_nestings
  		(recipe_id, includes_recipe_id, servings)
  	SELECT (SELECT id FROM recipes WHERE name = LTRIM(STRFTIME('%Y-%W', NEW.day), '0') AND type = 'mealplan-week'), recipe_id, SUM(servings)
  	FROM meal_plan
  	WHERE STRFTIME('%Y-%W', day) = STRFTIME('%Y-%W', NEW.day)
  	GROUP BY recipe_id;
  END;
  
  CREATE TRIGGER remove_internal_recipe AFTER DELETE ON meal_plan
  BEGIN
  	/* This contains practically the same logic as the trigger create_internal_recipe */
  
  	-- Create a recipe per day
  	DELETE FROM recipes
  	WHERE name = OLD.day
  		AND type = 'mealplan-day';
  
  	INSERT OR REPLACE INTO recipes
  		(id, name, type)
  	VALUES
  		((SELECT MIN(id) - 1 FROM recipes), OLD.day, 'mealplan-day');
  	
  	-- Create a recipe per week
  	DELETE FROM recipes
  	WHERE name = LTRIM(STRFTIME('%Y-%W', OLD.day), '0')
  		AND type = 'mealplan-week';
  
  	INSERT INTO recipes
  		(id, name, type)
  	VALUES
  		((SELECT MIN(id) - 1 FROM recipes), LTRIM(STRFTIME('%Y-%W', OLD.day), '0'), 'mealplan-week');
  	
  	-- Delete all current nestings entries for the day and week recipe
  	DELETE FROM recipes_nestings
  	WHERE recipe_id IN (SELECT id FROM recipes WHERE name = OLD.day AND type = 'mealplan-day')
  		OR recipe_id IN (SELECT id FROM recipes WHERE name = OLD.day AND type = 'mealplan-week');
  
  	-- Add all recipes for this day as included recipes in the day-recipe
  	INSERT INTO recipes_nestings
  		(recipe_id, includes_recipe_id, servings)
  	SELECT (SELECT id FROM recipes WHERE name = OLD.day AND type = 'mealplan-day'), recipe_id, SUM(servings)
  	FROM meal_plan
  	WHERE day = OLD.day
  	GROUP BY recipe_id;
  
  	-- Add all recipes for this week as included recipes in the week-recipe
  	INSERT INTO recipes_nestings
  		(recipe_id, includes_recipe_id, servings)
  	SELECT (SELECT id FROM recipes WHERE name = LTRIM(STRFTIME('%Y-%W', OLD.day), '0') AND type = 'mealplan-week'), recipe_id, SUM(servings)
  	FROM meal_plan
  	WHERE STRFTIME('%Y-%W', day) = STRFTIME('%Y-%W', OLD.day)
  	GROUP BY recipe_id;
  END;
  