Add promotions to database and scrape command

This commit is contained in:
2026-01-31 09:01:31 +01:00
parent 6556ba0f88
commit 5a3918c228
3 changed files with 7 additions and 0 deletions

View File

@@ -181,6 +181,11 @@ class Migrate extends Command
$table->integer('stock')->nullable(); $table->integer('stock')->nullable();
}); });
} }
if (!Capsule::schema()->hasColumn('products', 'promotions')) {
Capsule::schema()->table('products', function (Blueprint $table) {
$table->json('promotions')->nullable();
});
}
} }
public function index(): void public function index(): void

View File

@@ -120,6 +120,7 @@ class ScrapeWebsite extends Command
$productModel->lastSeen = date("Y-m-d"); $productModel->lastSeen = date("Y-m-d");
$productModel->touch('updated_at'); $productModel->touch('updated_at');
$productModel->country()->associate($country); $productModel->country()->associate($country);
$productModel->promotions = json_encode($product->promotions);
$productModel->save(); $productModel->save();
$priceExists = $productModel->price()->whereRaw("strftime('%Y-%m-%d', created_at) = ?", [date('Y-m-d')])->exists(); $priceExists = $productModel->price()->whereRaw("strftime('%Y-%m-%d', created_at) = ?", [date('Y-m-d')])->exists();

View File

@@ -28,6 +28,7 @@ use function Symfony\Component\Clock\now;
* @property float $lowestProductPrice30Days * @property float $lowestProductPrice30Days
* @property Date $lastSeen * @property Date $lastSeen
* @property integer $stock * @property integer $stock
* @property Object $promotions
*/ */
class Product extends Model class Product extends Model
{ {