Question

J'ai plusieurs migrations dans mon projet, chaque migration ajoute un certain nombre de colonnes.Après chaque migration, je souhaite remplir les données dans les colonnes, en fonction des autres colonnes déjà existantes.Je travaille en équipe et nous avons chacun une base de données locale avec des données de test.

Actuellement, il existe une seule méthode de départ dans la classe de configuration.

Avec une migration ajoutant des colonnes, l'ajout de données dans la méthode de départ est très bien, mais avec plusieurs migrations où chacune d'elles ajoute des colonnes, cela ne fonctionnera que si je mets à jour la méthode de départ pour qu'elle corresponde à la migration la plus récente.

Pourquoi n'ont-ils pas inclus une méthode Seed virtuelle ou abstraite que les utilisateurs pourraient remplacer en cas de besoin dans la classe DbMigration ?Cela semblerait être une bien meilleure façon ?

Merci d'avance

Était-ce utile?

La solution

Parce que vous pouvez ensemencer vos données directement dans Up méthode dans votre classe de migration.Il suffit d'appeler:

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

Seed La méthode dans la configuration de la migration est plus adaptée à l'amorçage initial de la base de données lors de la création de la base de données, mais elle peut également être utilisée pour les semences à venir lorsque vous devez ajouter ou mettre à jour des entités entières - pas seulement initialiser des colonnes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top