| 
									
										
										
										
											2021-07-15 17:54:48 +02:00
										 |  |  | CREATE TABLE meal_plan_sections (
 | 
					
						
							|  |  |  | 	id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
 | 
					
						
							|  |  |  | 	name TEXT NOT NULL UNIQUE,
 | 
					
						
							|  |  |  | 	sort_number INTEGER,
 | 
					
						
							|  |  |  | 	row_created_timestamp DATETIME DEFAULT (datetime('now', 'localtime'))
 | 
					
						
							|  |  |  | );
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | INSERT INTO meal_plan_sections
 | 
					
						
							|  |  |  | 	(id, name, sort_number)
 | 
					
						
							|  |  |  | VALUES
 | 
					
						
							|  |  |  | 	(-1, '', -1);
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ALTER TABLE meal_plan
 | 
					
						
							|  |  |  | ADD section_id INTEGER NOT NULL DEFAULT -1;
 | 
					
						
							| 
									
										
										
										
											2021-07-16 17:32:08 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | CREATE TRIGGER prevent_internal_meal_plan_section_removal BEFORE DELETE ON meal_plan_sections
 | 
					
						
							|  |  |  | BEGIN
 | 
					
						
							|  |  |  | 	SELECT CASE WHEN((
 | 
					
						
							|  |  |  | 		SELECT 1
 | 
					
						
							|  |  |  | 		FROM meal_plan_sections
 | 
					
						
							|  |  |  | 		WHERE id = OLD.id
 | 
					
						
							|  |  |  | 			AND id = -1
 | 
					
						
							|  |  |  | 	) NOTNULL) THEN RAISE(ABORT, "This is an internally used/required default section and therefore can't be deleted") END;
 | 
					
						
							|  |  |  | END;
 |