diff --git a/src/Command/Migrations/DBMigrationCommand.php b/src/Command/Migrations/DBMigrationCommand.php index 06aa3e00..0c58e6b9 100644 --- a/src/Command/Migrations/DBMigrationCommand.php +++ b/src/Command/Migrations/DBMigrationCommand.php @@ -26,6 +26,8 @@ namespace App\Command\Migrations; use App\DataTables\Helpers\ColumnSortHelper; use App\Entity\Parts\Manufacturer; use App\Services\ImportExportSystem\PartKeeprImporter\PKImportHelper; +use Doctrine\DBAL\Platforms\AbstractMySQLPlatform; +use Doctrine\DBAL\Platforms\PostgreSQLPlatform; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Id\AssignedGenerator; @@ -122,6 +124,10 @@ class DBMigrationCommand extends Command $this->targetEM->flush(); */ + //Fix sequences / auto increment values on target database + $io->info('Fixing sequences / auto increment values on target database...'); + $this->fixAutoIncrements($this->targetEM); + $output->writeln('Database migration completed successfully.'); if ($io->isVerbose()) { @@ -130,4 +136,33 @@ class DBMigrationCommand extends Command return Command::SUCCESS; } + + private function fixAutoIncrements(EntityManagerInterface $em): void + { + $connection = $em->getConnection(); + $platform = $connection->getDatabasePlatform(); + + if ($platform instanceof PostgreSQLPlatform) { + $connection->executeStatement( + //From: https://wiki.postgresql.org/wiki/Fixing_Sequences + <<