Wenn ich eine Schemaaktualisierung durchführe, werden die Schemata für meine Entitäten erfolgreich aktualisiert, aber wenn es irgendwelche "Nicht-Doktrin"-Tabellen in der Datenbank gibt, werden sie gelöscht. Leider sind diese anderen Tabellen für das CMS eines Drittanbieters, das ich verwende, erforderlich.
Gibt es eine Möglichkeit, Doctrine anzuweisen, das Schema für bestimmte Entitäten (oder alle) zu aktualisieren, ohne etwas anderes zu löschen?
Nachstehend finden Sie meinen bestehenden Aktualisierungscode. Die $classes
Array enthält alle Metadaten für Entity-Klassen, die in mehreren verschiedenen Plugins zu finden sind.
//$em is an instance of EntityManager
//Psuedo Code
$classes = array(
$em->getClassMetadata('class1'),
$em->getClassMetadata('class2'),
$em->getClassMetadata('class3'),
$em->getClassMetadata('class4'),
$em->getClassMetadata('class5'),
);
//Real Code
$st = new Doctrine\ORM\Tools\SchemaTool( $em );
if ($classes)
$st->updateSchema($classes);