Added a migration to update existing nutritionnal values

This commit is contained in:
Noah Lancien 2024-01-31 09:11:44 +01:00
parent dcf995bdc6
commit b668848e63
3 changed files with 112 additions and 2 deletions

View file

@ -101,7 +101,7 @@ class StoreProductRequest extends FormRequest
"value" => $this->nutritionnal_values['fat'],
],
"saturated-fat" => [
"label" => "ACIDES GRAS SATURÉS (g)",
"label" => "ACIDE GRAS SATURÉ (g)",
"value" => $this->nutritionnal_values['saturated_fat'],
],
"carbohydrate" => [

View file

@ -32,7 +32,7 @@ class ProductFactory extends Factory
'value' => fake()->randomFloat(2, 0, 70)
],
'saturated-fat' => [
'label' => 'ACIDES GRAS SATURÉS (g)',
'label' => 'ACIDE GRAS SATURÉ (g)',
'value' => fake()->randomFloat(2, 0, 70)
],
'carbohydrate' => [

View file

@ -0,0 +1,110 @@
<?php
use App\Models\Product;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up(): void
{
DB::transaction(function () {
Product::all()->each(function (Product $product) {
$oldValues = json_decode($product->nutritionnal_values, true);
$product->nutritionnal_values = [
'energyKj' => [
'label' => 'ÉNERGIE (kj)',
'value' => $oldValues['energyKj']['value']
],
'energyKcal' => [
'label' => 'ÉNERGIE (kcal)',
'value' => $oldValues['energyKcal']['value']
],
'fat' => [
'label' => 'MATIÈRES GRASSES (g)',
'value' => $oldValues['fat']['value']
],
'saturated-fat' => [
'label' => 'ACIDE GRAS SATURÉ (g)',
'value' => $oldValues['saturated-fat']['value']
],
'carbohydrate' => [
'label' => 'GLUCIDES (g)',
'value' => $oldValues['carbohydrate']['value']
],
'sugar' => [
'label' => 'SUCRES (g)',
'value' => $oldValues['sugar']['value']
],
'proteins' => [
'label' => 'PROTÉINES (g)',
'value' => $oldValues['proteins']['value']
],
'salt' => [
'label' => 'SEL (g)',
'value' => $oldValues['salt']['value']
],
];
$product->save();
});
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down(): void
{
DB::transaction(function () {
Product::all()->each(function (Product $product) {
$oldValues = json_decode($product->nutritionnal_values, true);
$product->nutritionnal_values = [
'energyKj' => [
'label' => 'Energie en Kj',
'value' => $oldValues['energyKj']['value']
],
'energyKcal' => [
'label' => 'Energie en kcal',
'value' => $oldValues['energyKcal']['value']
],
'fat' => [
'label' => 'Matières grasses',
'value' => $oldValues['fat']['value']
],
'saturated-fat' => [
'label' => 'dont acides gras saturés',
'value' => $oldValues['saturated-fat']['value']
],
'carbohydrate' => [
'label' => 'Glucides',
'value' => $oldValues['carbohydrate']['value']
],
'sugar' => [
'label' => 'dont sucres',
'value' => $oldValues['sugar']['value']
],
'proteins' => [
'label' => 'Protéines',
'value' => $oldValues['proteins']['value']
],
'salt' => [
'label' => 'Sel',
'value' => $oldValues['salt']['value']
],
];
$product->save();
});
});
}
};