Frage

Ich habe mehrere Migrationen in meinem Projekt, jede Migration fügt eine Reihe von Spalten hinzu.Nach jeder Migration möchte ich Daten in die Spalten füllen, basierend auf den anderen bereits vorhandenen Spalten.Ich arbeite in einem Team und jeder von uns hat eine lokale Datenbank mit Testdaten.

Derzeit gibt es eine einzige Seed-Methode in der Konfigurationsklasse.

Wenn bei einer Migration Spalten hinzugefügt werden, ist das Hinzufügen von Daten in der Seed-Methode in Ordnung, aber bei mehreren Migrationen, bei denen jede einzelne von ihnen Spalten hinzufügt, funktioniert es nicht, es sei denn, ich aktualisiere die Seed-Methode so, dass sie mit der neuesten Migration übereinstimmt.

Warum haben sie in der DbMigration-Klasse keine virtuelle oder abstrakte Seed-Methode eingefügt, die bei Bedarf überschrieben werden kann?Das scheint ein viel besserer Weg zu sein?

Dank im Voraus

War es hilfreich?

Lösung

Weil Sie Ihre Daten direkt eingeben können Up Methode in Ihrer Migrationsklasse.Ruf einfach an:

Sql("INSERT INTO ... ");
Sql("UPDATE ... ");

Seed Die Methode in der Migrationskonfiguration eignet sich besser für das anfängliche Datenbank-Seeding beim Erstellen der Datenbank, kann aber auch für bevorstehende Seeds verwendet werden, wenn Sie ganze Entitäten hinzufügen oder aktualisieren müssen – nicht nur Spalten initialisieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top