Jak správně nakonfigurovat Doctrine 2 a vygenerovat entity z existující DB

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Croc
Člen | 270
+
+1
-

Zdravím,
tak jsem se přece jen rozhodl pro použití Doctrine. Vše mám připravené, chci se jen zeptat na tyto věci:

  1. Jaké důležité věci nastavit? Koukal jsem, že je hodně možností konfigurace, ale aktuálně moc netuším co je dobré a co ne. Máte tedy nějaké základní typy co a jak Doctrine správně nakonfigurovat?
  2. Mám již existující DB, ale nechce se mi definovat entity ručně. Nějakou dobu by mi to trvalo a určitě bych tam nadělal spoustu chyb. Je tento návod pro reverse engineering v pohodě? Není tam něco, na co si dát pozor kvůli integraci s Nette? Popřípadě jak jinak provést efektivně vytvoření entit z již existující DB?

Díky moc

Editoval Croc (26. 10. 2015 15:06)

Azathoth
Člen | 495
+
0
-

Akorát připojení k databázi. Do začátku nic jiného nepotřebuješ.
Ten návod vypadá ok, akorát si ty zdrojáky budeš muset stahnout a zaregistrovat jako Kdyby Commandy, protože myslím, že ten reverse engeneering není součástí doctrine, ale symfony.

Croc
Člen | 270
+
0
-

Aha, tak toho sem si nevšiml. Zkusím tedy ještě něco pohledat jak to udělat.

Croc
Člen | 270
+
+6
-

Tak jsem pátral a zkoušel a nakonec se zadařilo:

do config.neon stačilo přidat:

services:
	- {class: Doctrine\ORM\Tools\Console\Command\GenerateEntitiesCommand, tags: [kdyby.console.command]}

Následně spustit konzoli v projektu a spustit tyto příkazy:

php www/www/index.php orm:convert-mapping --namespace="App\Entity\\" --force  --from-database annotation ./ // vygeneruje entity

php www/www/index.php orm:generate-entities ./ --generate-annotations=true //do entit vytovří gettery a settery

Píšou že to není 100%, ale aspoň to nemusím datlovat celé ručně :) Ufff