Maison  >  Article  >  développement back-end  >  Une explication de la façon dont symfony génère des entités de table de base de données et migre les bases de données

Une explication de la façon dont symfony génère des entités de table de base de données et migre les bases de données

巴扎黑
巴扎黑original
2017-07-23 10:34:542211parcourir

Après deux jours de contact, j'ai trouvé que symfony est vraiment génial. J'avais du mal à savoir s'il valait mieux apprendre laravel ou symfony. Après avoir appris laravel pendant une semaine, j'ai trouvé qu'il y avait trop peu de documentation et. matériel d'apprentissage. Je me suis immédiatement tourné vers symfony et j'ai découvert qu'il avait les mêmes fonctions que laravle, c'est presque la même chose, donc je n'ai pas regardé Laravle en vain la semaine dernière. Mais aujourd'hui, j'ai trouvé une très bonne fonction, qui ressemble plus à Java. Je suis content depuis un moment. Laissez-moi partager avec vous comment générer automatiquement des entités de table de base de données en quelques clics comme Java

I. utilisez Symfony3.0, génère certaines informations de configuration de base de données de connexion pour les entités de base de données. Les informations de configuration de connexion se trouvent dans le fichier app/config/parameters.yml. Symfony identifiera automatiquement de quelle base de données il s'agit. Si vous souhaitez l'étudier attentivement, consultez-la. le document ! J'étais également ivre en parlant du document. J'ai copié chaque phrase dans Baidu Translate pour en comprendre le sens.

Générer des entités à partir de la table de la base de données


1. Générer un modèle à partir de la base de données :
 php bin/console doctrine:mapping : convert --from-database yml D:db
D:\test_backend>php bin/console doctrine:mapping:convert --from-database yml D:\db\
Processing entity "AppUser"
Processing entity "Channel"
Processing entity "MigrationVersions"

Exporting "yml" mapping information to "D:\db"

 (Le modèle doit changer la première ligne du chemin, sinon l'erreur suivante sera signalée dans l'instance structure de la table :)

 Fichier de mappage non valide 'AppBundle.Entity.AppUser.orm.yml' pour la classe 'AppBundleEntityAppUser'.
exemple :
La première ligne du modèle généré par la table app_user : 'AppUser:'; Pour changer cela en "AppBundleEntityAppUser:"
->瞞子鱼
Toutes les structures de table de l'instance
Copiez le fichier de structure de table dans : AppBundleResourcesconfigdoctrine
 php bin/console doctrine:generate:entities AppBundle/Entity/ --path src/
 Structure de table unique d'instance (SiteChannel)
 doctrine php bin/console:generate :entities AppBundle/Entity/SiteChannel --path src/
D:\test_backend>php bin/console doctrine:generate:entities AppBundle/Entity/AppUser --path src/Generating entities for namespace "AppBundle\Entity\AppUser"
  > backing up AppUser.php to AppUser.php~
  > generating AppBundle\Entity\AppUser
Migration de base de données (migration locale Symfony vers la base de données) :

Démarrer la migration de la base de données : composer require doctrine/doctrine-migrations-bundle "^1.0"
Mises à jour des entités dans la base de données
Ressources-> ;Entity
(Comparer)
 php bin/console doctrine:migrations:diff
 (Migration)
 php bin/console doctrine:migrations:migrate
->Poisson voyou

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn