Ich habe ein Symfony-Projekt, das mit mehreren Datenbanken verbunden ist. Allerdings habe ich nur ALTER Zugriff auf einen von ihnen.Halten Sie die Doktrin-Entität auf dem neuesten Stand mit der externen SQL-Datenbank
Im Moment, um meine Doktrin-Entitäten synchron mit der Datenbank zu halten, muss ich eine doctrine:schema:update --dump-sql
machen dann das Gegenteil meiner Entität tun.
z.B. Wenn doctrine:schema:update --dump-sql
gibt mir ALTER tableName DROP columnName Ich gehe auf die TableName-Entität und fügen Sie eine ColumnName-Eigenschaft hinzu.
doctrine:schema:import
scheint nur das erste Mal zu funktionieren. auch nach dem Löschen aller. XML-Datei
Gibt es noch etwas, dass ich tun/verwenden kann, um synchron zu halten, die weniger manuell ist.
, was Sie tun bedeuten wi th * dann mache das Gegenteil meiner Entity * was genau ist der Befehl? Und gibt es eine Möglichkeit, eine organisatorische Veränderung der Situation zu erreichen, da sie nicht optimal ist? oder ein solideres DB Design haben? – Confidence
@Confidence Ich habe nur Lesezugriff auf die Datenbank, nur um Daten von ihr abzurufen, und das wird sich wahrscheinlich nicht ändern. was ich mit _das Gegenteil meiner Entität_ meine, ist. Wenn sie eine Spalte hinzufügen müssen, sagen Sie SpalteNeu. Meine Entity hat diese Spalte noch nicht und die einzige Möglichkeit, herauszufinden, ob die Datenbank nicht synchron ist, ist ein 'doctrine: schema: update --dump-sql', das den Aufruf' ALTER tableName DROP columnA' generiert . dann weiß ich, dass ich columnA meiner Entität hinzufügen muss. –
Es sieht so aus, als ob Doctrine Migrations das ist, was Sie brauchen, um diese Änderungen https://github.com/doctrine/migrations und das Bundle dafür http://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index durchzugehen. html – Confidence