2017-08-08 20 views
1

Je suis assez nouveau à Elixir/Phoenix et je ne suis pas sûr de ce qui est considéré comme une meilleure pratique pour insérer des données dans une table de recherche. Les données seront un ensemble fixe de données, mais peuvent s'étendre au fil du temps, car plus d'enregistrements sont nécessaires.Migration Phoenix ou des graines pour l'insertion de données dans la table de recherche

Je vois la plupart des exemples utilisent Repo.insert! dans les graines. Les semences sont-elles destinées à être utilisées comme un ensemble de données de développement de base? Serait-il préférable de créer des migrations pour créer ces données dans une migration afin de garantir qu'elles ne s'exécutent qu'une fois pour chaque environnement?

Répondre

1

Cela dépend de votre cas d'utilisation, mais dans 99,9% des cas, vous devriez le faire dans les graines. Vous ne devez interroger vos données dans les migrations que si cela est nécessaire pour créer des contraintes et/ou calculer des valeurs pour les champs nouvellement ajoutés.

+0

Excellent. Merci pour la réponse! – jerelmiller