2009-03-10 9 views
1

Ich versuche ein Skript zu erstellen, um den Update-Prozess für Symfony-Projekte zu automatisieren. Z.B. Wenden Sie alle Patches von einer Revision auf eine andere an, einschließlich möglicher Modellupdates und neuer Fixtures, ohne die gesamte Datenbank neu zu laden.Wie generiert man SQL aus Fixture YMLs in Symfony 1.0?

Ich habe das meiste davon abgeschlossen, aber ich konnte keinen Weg finden, eine SQL-Datei zu erzeugen, die die INSERT-Anweisungen enthält, die beim Laden des Fixtures durch Ladedaten ausgeführt werden.

Ich weiß, dass ich die Datenbank ausgeben könnte, um die Informationen zu erhalten, aber das ist nicht der Punkt, und das würde in meinem Fall nicht funktionieren, weil ich eine leere Datenbank benötigen würde, die keine anderen Daten enthält.

Kurz gesagt, ist meine Frage: Gibt es eine Möglichkeit, eine Fixture YML zu nehmen und die SQL-Einfügungen zu generieren?

Ich weiß, das durch die Verarbeitung des yml und den Aufbau der Logik getan werden könnte, aber der Build-Prozess es es irgendwo tut und es gibt keinen Grund, dass wieder ..

Jede Hilfe wäre zu schreiben, sehr geschätzt.

Antwort

0

Vielleicht habe ich Ihre Frage nicht richtig verstanden, aber Sie könnten nicht einfach die Task aufrufen, die die Fixtures in die db lädt, oder alternativ Code schreiben, der sfPropelData :: loadData() aufruft (ich nehme hier Propel an) .

$loader = new sfPropelData(); 
$loader->loadData(sfConfig::get('sf_data_dir').'/fixtures'); 

Selbst sfPropelData und ihre Mutter sfData nicht SQL-Code generieren, wenn Vorrichtungen Laden, sondern tut es die ORM (wie in sfPropelData::loadDataFromArray() zu sehen.

Wenn Sie Ihr Problem mehr erklärt und warum diese Lösung nicht genug ist, kann ich in der Lage sein, für Ihre Kommentare

+0

Hallo, Dank zu helfen ... Mein Problem in der Frage skizzierte selbst. ich ein Skript zu bauen bin versucht, das Update zu automatisieren Prozess für Symfony-Projekte, zB Patches anwenden von einer Revision zur anderen einschließlich möglicher Modell-Updates und neuer Fixtures, ohne die gesamte Datenbank neu zu laden. Danke !! – SuitedSloth

Verwandte Themen