h3ll0, nous allons voir comment modifier une entité déjà exisitante.
namespace Y3\MonProjetBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * MonEntite */ class MonEntite { /** * @var integer */ private $id; /** * @var integer */ private $version; /** * @var \DateTime */ private $creationDate; }
Lorsque vous crée une entité un fichier de config yml est générer dans le dossier config de votre bundle :
y3/MonprojetBundle/resources/config/doctrine
vous trouverez un fichier orm.yml correspondant à la config de votre entité, exemple : MonEntite.orm.yml
Y3\MonprojetBundle\Entity\MonEntite: type: entity table: MonEntite id: id: type: integer id: true generator: strategy: AUTO fields: version: type: integer column: ref_version creationDate: type: date column: creation_date lastModified: type: date column: last_modified
Ajouter les champs que vous souhaitez à ce fichier en respectant la syntaxe.
active: type: boolean column: active options: default: 1
Nous allons appliquer les changement effectué dans notre fichier MonEntite.orm.yml en executant la commande suivante :
app/console doctrine:generate:entities Y3MonprojetBundle:MonEntite
Retour :
Generating entity "Systra\ReferenceBundle\Entity\MonEntite" > backing up MonEntite.php to MonEntite.php~ > generating Y3\MonprojetBundle\Entity\MonEntite
une entité avec vos modifications à été générer (voir en fin de fichier)
Pour appliquer cette modification à votre base de données, exécuter la requête suivante :
app/console doctrine:schema:update --force
Retour:
Updating database schema... Database schema updated successfully! "2" queries were executed
problème pouvant se poser : Class « …. » is not a valid entity or mapped super class, voir l’article : Symfony2 – Class « …. » is not a valid entity or mapped super class pour résoudre le problème.
Si vous souhaiter savoir comment créer un entité voir l’article : Symfony2 – Créer une entité