From e70ec773f987182f9022e17ca392f08b0fcbb449 Mon Sep 17 00:00:00 2001 From: Mekan1206 Date: Wed, 11 Feb 2026 03:42:54 +0500 Subject: [PATCH] Comment out ProductStocksSeeder in DatabaseSeeder and implement stock updates in ProductStocksSeeder - Commented out the ProductStocksSeeder in DatabaseSeeder for future adjustments. - Implemented stock updates in ProductStocksSeeder to update product stock and inventory based on data from stocks.json. - Enhanced transaction handling and ensured proper sequence setting for inventory_product table. --- database/seeders/DatabaseSeeder.php | 2 +- database/seeders/new/ProductStocksSeeder.php | 37 +++++++++++--------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index a484cda..6202294 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -45,7 +45,7 @@ class DatabaseSeeder extends Seeder // ProductBarcodesSeeder::class, // ProductPropertiesSeeder::class, // ProductPropertyValuesSeeder::class, - ProductStocksSeeder::class, + // ProductStocksSeeder::class, ]); } } diff --git a/database/seeders/new/ProductStocksSeeder.php b/database/seeders/new/ProductStocksSeeder.php index 8134ead..00bc326 100644 --- a/database/seeders/new/ProductStocksSeeder.php +++ b/database/seeders/new/ProductStocksSeeder.php @@ -11,24 +11,29 @@ class ProductStocksSeeder extends Seeder { public function run() { - // - // DB::transaction(function () { - // $table = 'products'; + DB::transaction(function () { + $items = Items::fromFile( + database_path('data/stocks.json'), + ['decoder' => new ExtJsonDecoder(true)] + ); - // DB::table($table)->truncate(); + // First we update stock in products table, then in inventory_product table + foreach ($items as $data) { + DB::table('products')->where('id', $data['item_id'])->update([ + 'stock' => $data['quantity'], + ]); - // $items = Items::fromFile( - // database_path('data/items.json'), - // ['decoder' => new ExtJsonDecoder(true)] - // ); + DB::table('inventory_product') + ->insert([ + 'product_id' => $data['item_id'], + 'inventory_id' => $data['warehouse_id'], + 'stock' => $data['quantity'], + ]); + } - // foreach ($items as $data) { - // DB::table($table)->insert([]); - // } - - // DB::statement(" - // SELECT setval('{$table}_id_seq', (SELECT MAX(id) from {$table})) - // "); - // }); + DB::statement(" + SELECT setval('inventory_product_id_seq', (SELECT MAX(id) from inventory_product)) + "); + }); } } \ No newline at end of file