Increase speed of processing the prices and products. Because this is getting out of hand.

This commit was merged in pull request #33.
This commit is contained in:
2026-01-08 17:18:46 +01:00
parent de4915972c
commit 8e8ef8fe04
7 changed files with 67 additions and 15 deletions

View File

@@ -24,11 +24,10 @@ class Migrate extends Command
public function execute(InputInterface $input, OutputInterface $output): int
{
if (true === $input->hasOption(self::RECREATE_OPTION)) {
if ($input->getOption(self::RECREATE_OPTION)) {
unlink(__DIR__ . '/../../database.sqlite');
//sleep(5);
touch(__DIR__ . '/../../database.sqlite');
}
touch(__DIR__ . '/../../database.sqlite');
$capsule = new Capsule;
$capsule->addConnection([
'driver' => 'sqlite',
@@ -39,6 +38,7 @@ class Migrate extends Command
$this->createProductsTable();
$this->createPricesTable();
$this->createStocksTable();
$this->updateProductsTableAddPrices();
return Command::SUCCESS;
}
@@ -94,4 +94,31 @@ class Migrate extends Command
});
}
}
public function updateProductsTableAddPrices(): void
{
if (!Capsule::schema()->hasColumn('products', 'priceCurrent')) {
Capsule::schema()->table('products', function (Blueprint $table) {
$table->float('priceCurrent')->default(0);
});
}
if (!Capsule::schema()->hasColumn('products', 'priceLowest')) {
Capsule::schema()->table('products', function (Blueprint $table) {
$table->float('priceLowest')->default(0);
});
}
if (!Capsule::schema()->hasColumn('products', 'productStandardPrice')) {
Capsule::schema()->table('products', function (Blueprint $table) {
$table->float('productStandardPrice')->default(0);
});
}
if (!Capsule::schema()->hasColumn('products', 'lowestProductPrice30Days')) {
Capsule::schema()->table('products', function (Blueprint $table) {
$table->float('lowestProductPrice30Days')->default(0);
});
}
}
}