en ligne de commandes je ne sais pas ce qu il faut saisir. J'utilise vendor\bin\doctrine sous windows 10. Je lis un tres bon tutoriel
mais il n'indique pas comment générer les entities depuis une base de donnée existante.
Merci
en ligne de commandes je ne sais pas ce qu il faut saisir. J'utilise vendor\bin\doctrine sous windows 10. Je lis un tres bon tutoriel
mais il n'indique pas comment générer les entities depuis une base de donnée existante.
Merci
Il faut d'abord faire un mapping à partir de la bdd existante.
Remplace src par le chemin où tu désires mettre les entités. Cela va générer les squelettes des entités dans le répertoire src/Entity, sous le namespace Entity, avec les propriétés et les annotations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ vendor\bin\doctrine orm:convert-mapping --from-database --namespace='Entity\' annotation src/
Merci pour ta réponse.
j'ai mis en console cmd
aucune erreure n'est signaler Mais les classe Entiity ne sont pas creer. bizare
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 C:\wamp\www\doctrine2-tuto>vendor\bin\doctrine orm:convert-mapping --from-database --namespace='src\Entity\' annotation src/ Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\wamp\www\doctrine2-tuto\vendor\doctrine\orm\lib\Doctrine\ORM\UnitOfWork.php on line 2624 Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\wamp\www\doctrine2-tuto\vendor\doctrine\orm\lib\Doctrine\ORM\UnitOfWork.php on line 2653 Processing entity "'src\Entity\'Admin" Processing entity "'src\Entity\'Commentaire" Processing entity "'src\Entity\'Creersujet" Processing entity "'src\Entity\'Membre" Processing entity "'src\Entity\'Sujet" Exporting "annotation" mapping information to "C:\wamp\www\doctrine2-tuto\src"
Voici mon bootsrrasp
le cli-config.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <?php # bootstrap.php require_once join(DIRECTORY_SEPARATOR, [__DIR__, 'vendor', 'autoload.php']); use Doctrine\ORM\Tools\Setup; use Doctrine\ORM\EntityManager; $entitiesPath = [ join(DIRECTORY_SEPARATOR, [__DIR__, "src", "Entity"]) ]; $isDevMode = true; $proxyDir = null; $cache = null; $useSimpleAnnotationReader = false; // Connexion à la base de données $dbParams = [ 'driver' => 'pdo_mysql', 'host' => 'localhost', 'charset' => 'utf8', 'user' => 'root', 'password' => '', 'dbname' => 'ducerf', ]; $config = Setup::createAnnotationMetadataConfiguration( $entitiesPath, $isDevMode, $proxyDir, $cache, $useSimpleAnnotationReader ); $entityManager = EntityManager::create($dbParams, $config); return $entityManager; ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php # cli-config.php $entityManager = require_once join(DIRECTORY_SEPARATOR, [__DIR__, 'bootstrap.php']); use Doctrine\ORM\Tools\Console\ConsoleRunner; return ConsoleRunner::createHelperSet($entityManager); ?>
Tu sembles utiliser une version obsolète de doctrine, je ne trouve pas ces erreurs dans la dernière version. Peux-tu mettre à jour?
j utilise cette version
je fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 composer require doctrine/orm:^2.5
quand je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 "require" : { "doctrine/orm" : "*" }
ca me doone[
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 C:\wamp\www\doctrine2-tuto>vendor\bin\doctrine orm:convert-mapping --from-database --namespace='Entity\' annotation src/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 C:\wamp\www\doctrine2-tuto>vendor\bin\doctrine orm:convert-mapping --from-database --namespace='Entity\' annotation src/ Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\wamp\www\doctrine2-tuto\vendor\doctrine\orm\lib\Doctrine\ORM\UnitOfWork.php on line 2636 Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in C:\wamp\www\doctrine2-tuto\vendor\doctrine\orm\lib\Doctrine\ORM\UnitOfWork.php on line 2665 Processing entity "'Entity\'Admin" Processing entity "'Entity\'Commentaire" Processing entity "'Entity\'Creersujet" Processing entity "'Entity\'Membre" Processing entity "'Entity\'Sujet" [Doctrine\ORM\Tools\Export\ExportException] Attempting to overwrite an existing file 'C:\wamp\www\doctrine2-tuto\src/'Entity/'Admin.php'.
L'erreur arrive parce que tu es en PHP 7.3. Passe à la version 2.6 de doctrine qui supporte PHP 7.3, j'ai fait une convert:mapping récemment avec la 2.6 et je n'ai pas eu ce problème.
Merci beaucoup. ca marche maintenant
voila le composer.json
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 { "require" : { "doctrine/orm" : "2.6" } }
Doctrine2 ne mappe pas les relations entre tables.
Il y a t il une autre solution que de saisir soi même les classes one to many et many to many ?
Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager