Ich muss mit einer vorhandenen Datenbank arbeiten (nicht mit Doctrine verwaltet) und ich möchte nur Doktrinen für neue Tabellen in dieser Datenbank verwenden.
Gibt es eine Möglichkeit, Doctrine anzuweisen, beim Nachladen nicht die gesamte Datenbank zu löschen, sondern nur die in der yaml
-Datei definierten Modelle?
Ich kenne das eine sehr alte Frage, und es scheint, dass Sie symfony verwenden.
Versuchen:
%Vor%Dadurch werden alle Tabellen in der Datenbank gelöscht.
Meine 2 Cent, wenn du das über PHP machen willst:
%Vor%Dies ist ein wenig langsam, Sie können auch alle Daten aus allen Tabellen löschen:
%Vor%Ja, Sie können die Doktrin nur für einige Tabellen verwenden (nicht für alle). Und es wird nicht alle anderen Tabellen fallen lassen, es sei denn, Sie führen
manuell aus %Vor%So können Sie Doctine für Ihre neuen Tabellen verwenden:
Verwenden der Befehlszeilenschnittstelle , um automatisch alle Doctrine-Modelle (und Schemata) basierend auf DB-Tabellen zu generieren (Sie können nicht benötigte Modelle manuell löschen).
@ gpilotino Ja, ich habe ein ähnliches Problem. Es scheint KEINEN Weg zu geben, die Datenbank innerhalb von PHPUnit (Die Zukunft der Symfony-Tests) zu löschen und neu aufzubauen.
Vielleicht ist es in 'Limone' möglich, ich weiß es nicht.
Also muss ich eine umgekehrte - & gt; save () -Funktion schreiben, die alle Daten aus der Datenbank sichert und dann alle Sequenzen zurücksetzt, damit ich automatisierte Tests durchführen kann.
Für diejenigen, die meiner Frustration nicht folgen wollen, habe ich beides versucht:
1) Verwenden einer Aufgabe von innerhalb von Symfony:
%Vor%2) Ausführen von außerhalb von Symfony innerhalb von PHP:
%Vor%Der Grund, dass ich die Verbindung geschlossen habe, ist, dass Postgres, MDBOC (meine bevorzugte Datenbank) keine Datenbank mit einer Verbindung löscht. Wahrscheinlich ist NOCH ein Problem. Ich sage dir, es ist NIE so einfach wie die einfachen Tutorials. Und es ist sogar schlimmer mit Microslop-Produkten.