feature/handle-multiple-countries #45
@@ -11,6 +11,7 @@ use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use function Symfony\Component\Clock\now;
|
||||
|
||||
#[AsCommand(name: 'app:migrate', description: 'Create database and rum migrations')]
|
||||
class Migrate extends Command
|
||||
@@ -39,6 +40,7 @@ class Migrate extends Command
|
||||
$this->createPricesTable();
|
||||
$this->createStocksTable();
|
||||
$this->addColumns();
|
||||
$this->createCountriesTable();
|
||||
|
||||
return Command::SUCCESS;
|
||||
}
|
||||
@@ -76,6 +78,7 @@ class Migrate extends Command
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public function createCountriesTable(): void
|
||||
{
|
||||
if (!Capsule::schema()->hasTable('countries')) {
|
||||
@@ -86,6 +89,26 @@ class Migrate extends Command
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
$id = Capsule::table('countries')->insertGetId(
|
||||
[
|
||||
'countryName' => 'Poland',
|
||||
'productsUrl' => 'https://pl.ryobitools.eu/api/product-listing/get-products',
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
]);
|
||||
Capsule::table('countries')->insert([
|
||||
'countryName' => 'UK',
|
||||
'productsUrl' => 'https://uk.ryobitools.eu/api/product-listing/get-products',
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
]
|
||||
);
|
||||
|
||||
if (!Capsule::schema()->hasColumn('products', 'country_id')) {
|
||||
Capsule::schema()->table('products', function (Blueprint $table) use ($id) {
|
||||
$table->foreignId('country_id')->default($id)->references('id')->on('countries');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public function createStocksTable(): void
|
||||
|
||||
Reference in New Issue
Block a user