Dans cet exemple, on renomme l'entité Personne en Individu.
Générer une nouvelle migration vide :
php bin/console doctrine:migrations:generate
Ajouter le code dans les fonctions up() et down() de la migration :
public function up(Schema $schema) : void { // this up() migration is auto-generated, please modify it to your needs $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.'); $this->addSql('RENAME TABLE personne TO individu'); } public function down(Schema $schema) : void { // this down() migration is auto-generated, please modify it to your needs $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.'); $this->addSql('RENAME TABLE individu TO personne'); }
Ne pas appliquer cette migration tout de suite… |
---|
Renommer le fichier src/Entity/Personne.php en src/Entity/Individu.php.
Éditer le fichier en modifiant toutes les instances de Personne :
... /** * @ORM\Entity(repositoryClass="App\Repository\IndividuRepository") */ class Individu { ... }
Renommer le fichier src/Repository/PersonneRepository.php en src/Repository/IndividuRepository.php.
Éditer le fichier en modifiant toutes les instances de Personne :
... use App\Entity\Individu; ... class IndividuRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Individu::class); } // MODIFIER AUSSI TOUTES LES ANNOTATIONS ET LES TYPES INDIQUÉS // COMME PARAMÈTRES OU VALEURS DE RETOUR DES FONCTIONS. }
Remplacer Personne par Individu dans tous les contrôleurs où la classe est utilisée.
S'il y a des templates qui utilisent l'ancien nom de l'entité, les modifier également.
Si elle existe, renommer la classe PersonneFixtures en IndividuFixtures.
Remplacer Personne par Individu dans les autres fixtures où la classe est utilisée.
php bin/console doctrine:migrations:migrate
php bin/console cache:clear