Laravel de semences après la migration
Il y a une chose que je peux mettre dans mon migrations automatiquement les semences de la table avec des données de test une fois la migration terminée?
Ou avez-vous ont de graines séparément?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez appeler
migrate:refresh
avec le--seed
option pour automatiquement des graines après les migrations sont complètes:Ce sera la restauration et la ré-exécution de toutes les opérations de migration et d'exécuter tous les semoirs par la suite.
Juste comme un petit supplément, vous pouvez toujours utiliser un
Artisan::call()
pour exécuter un artisan de la commande à partir de l'intérieur de l'application:ou
si vous voulez semoir spécifique de la classe.
Tout lukasgeiter réponse est correct, j'aimerais des précisions sur votre deuxième question.
Oui. Puisque vous parlez de des données de test vous devriez éviter de couplage semis avec migration. Bien sûr, si ce n'étaient pas des données de test, mais les données de l'application, vous pouvez toujours le faire en insérant les données une partie de la migration.
En aparté, si vous voulez des graines de vos données dans le cadre de les tests, vous pouvez appeler
$this->seed()
à partir de votre Laravel cas de test.lukasgeiter réponse est correct pour les données de test, mais courir après artisan de commande
dans la production d'actualiser votre base de données en supprimant toutes les données saisies ou mises à jour à partir de frontend.
Si vous voulez des graines de votre base de données le long d'une migration (par exemple le déploiement d'une mise à jour de votre application en gardant les données existantes), comme l'ajout d'une nouvelle table de pays avec des graines de données, vous pouvez effectuer les opérations suivantes:
Créer une base de données semoir exemple YourSeeder.php de votre emplacement et de la table de la migration
}