diff --git a/src/Bdd.php b/src/Bdd.php index 03a39dc80f7c38cb31b37f1ac6b20165967639f0..4a6a4597629c4761c06e6e1a5f19902ba6c1cbad 100644 --- a/src/Bdd.php +++ b/src/Bdd.php @@ -850,19 +850,20 @@ class Bdd - public function update(): self + public function update(bool $withData = true, bool $withMigration=true): self { $this->logTitle('Mise à jour de la base de données'); $ddl = $this->getRefDdl(); $filters = $this->getFiltersForUpdateBdd($ddl); - // Initialisation et lancement de la pré-migration - $migrationManager = $this->migration(); - - $migrationManager->init($ddl, $filters); - $migrationManager->run(MigrationManager::ACTION_BEFORE); + if ($withMigration) { + // Initialisation et lancement de la pré-migration + $migrationManager = $this->migration(); + $migrationManager->init($ddl, $filters); + $migrationManager->run(MigrationManager::ACTION_BEFORE); + } try { $this->alter($ddl, $filters, true); @@ -880,11 +881,15 @@ class Bdd // Mise à jour des données - $this->updateData(); + if ($withData) { + $this->updateData(); + } - // Post-migration - $migrationManager->run(MigrationManager::ACTION_AFTER); + if ($withMigration) { + // Post-migration + $migrationManager->run(MigrationManager::ACTION_AFTER); + } return $this; }