Actualiser api/database.php
CI / PHP Syntax Check (push) Has been cancelled
CI / JavaScript Lint (push) Has been cancelled
CI / Docker Build Test (push) Has been cancelled
CI / Validate Translation Files (push) Has been cancelled
Security Scan (Trivy) / Trivy — Docker image scan (push) Has been cancelled
Security Scan (Trivy) / Trivy — Filesystem scan (push) Has been cancelled
CI / Auto-merge develop → main (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled

This commit is contained in:
2026-06-27 16:57:43 +00:00
parent 18169417d3
commit 865cb561be
+7 -9
View File
@@ -476,7 +476,6 @@ if (empty($recipeLibTables)) {
); );
"); ");
} }
// Recipe tags (v2.3) — tags pour trier/filtrer "Mes recettes", gérables depuis Config // Recipe tags (v2.3) — tags pour trier/filtrer "Mes recettes", gérables depuis Config
$recipeTagsTables = $db->query("SELECT name FROM sqlite_master WHERE type='table' AND name='recipe_tags'")->fetchAll(); $recipeTagsTables = $db->query("SELECT name FROM sqlite_master WHERE type='table' AND name='recipe_tags'")->fetchAll();
if (empty($recipeTagsTables)) { if (empty($recipeTagsTables)) {
@@ -489,14 +488,6 @@ if (empty($recipeTagsTables)) {
sort_order INTEGER DEFAULT 0 sort_order INTEGER DEFAULT 0
); );
"); ");
}
// Migration: add keywords column to recipe_tags if missing
$rtCols = array_column($db->query("PRAGMA table_info(recipe_tags)")->fetchAll(), 'name');
if (!in_array('keywords', $rtCols)) {
try { $db->exec("ALTER TABLE recipe_tags ADD COLUMN keywords TEXT DEFAULT ''"); }
catch (PDOException $e) { if (strpos($e->getMessage(), 'duplicate column') === false) throw $e; }
}
$db->exec("INSERT INTO recipe_tags (key, label, icon, sort_order) VALUES $db->exec("INSERT INTO recipe_tags (key, label, icon, sort_order) VALUES
('cocktail', 'Cocktail', '🍹', 1), ('cocktail', 'Cocktail', '🍹', 1),
('sans_alcool', 'Sans alcool', '🚫', 2), ('sans_alcool', 'Sans alcool', '🚫', 2),
@@ -523,6 +514,13 @@ if (!in_array('keywords', $rtCols)) {
('brunch', 'Brunch', '🥂', 23) ('brunch', 'Brunch', '🥂', 23)
"); ");
} }
// Migration: add keywords column to recipe_tags if missing
$rtCols = array_column($db->query("PRAGMA table_info(recipe_tags)")->fetchAll(), 'name');
if (!in_array('keywords', $rtCols)) {
try { $db->exec("ALTER TABLE recipe_tags ADD COLUMN keywords TEXT DEFAULT ''"); }
catch (PDOException $e) { if (strpos($e->getMessage(), 'duplicate column') === false) throw $e; }
}
// Custom quantity units (v2.4) — unités personnalisées (ex: kg, L) avec facteur de conversion vers pz/g/ml, gérables depuis Config // Custom quantity units (v2.4) — unités personnalisées (ex: kg, L) avec facteur de conversion vers pz/g/ml, gérables depuis Config
$customUnitsTables = $db->query("SELECT name FROM sqlite_master WHERE type='table' AND name='custom_units'")->fetchAll(); $customUnitsTables = $db->query("SELECT name FROM sqlite_master WHERE type='table' AND name='custom_units'")->fetchAll();
if (empty($customUnitsTables)) { if (empty($customUnitsTables)) {