# Doctrine avancé (Symfony) > Migrations, lifecycle callbacks, events, inheritance, custom types, performance optimization - 24 questions d'entretien - Confirmé - [Questions d'entretien: Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien.md) ## 1. Quelle commande permet de générer une nouvelle migration Doctrine dans Symfony ? **Réponse** La commande doctrine:migrations:diff compare le schéma actuel de la base de données avec les métadonnées des entités et génère automatiquement une migration contenant les différences. C'est la méthode recommandée pour créer des migrations car elle évite les erreurs manuelles et garantit la cohérence entre le code et la base de données. ## 2. Quel lifecycle callback est déclenché avant l'insertion d'une entité en base de données ? **Réponse** Le callback PrePersist est exécuté avant qu'une nouvelle entité soit persistée en base de données. C'est l'endroit idéal pour initialiser des valeurs par défaut comme les timestamps de création ou générer des identifiants uniques avant l'insertion. ## 3. Comment activer les lifecycle callbacks sur une entité Doctrine ? **Réponse** L'attribut HasLifecycleCallbacks doit être ajouté sur la classe de l'entité pour activer les callbacks. Sans cet attribut, les méthodes annotées avec PrePersist, PostUpdate et autres callbacks ne seront jamais exécutées par Doctrine. ## 21 questions supplémentaires disponibles - Quelle commande permet d'exécuter toutes les migrations en attente dans Doctrine ? - Quel callback Doctrine utiliser pour mettre à jour automatiquement un champ 'updatedAt' à chaque modification ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Symfony - [PHP Moderne (8.1+)](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/php-modern-features.md): 20 questions, Junior - [Les bases de Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/symfony-basics.md): 25 questions, Junior - [Routing & Controllers](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/routing-controllers.md): 20 questions, Junior - [Twig & Templates](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/twig-templates.md): 20 questions, Junior - [Doctrine ORM - Les bases](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/doctrine-orm-basics.md): 25 questions, Junior - [Formulaires Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/forms.md): 22 questions, Junior - [Validation de données](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/validation.md): 18 questions, Junior - [Dependency Injection & Services](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/dependency-injection.md): 24 questions, Confirmé - [Security & Authentication](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/security-authentication.md): 26 questions, Confirmé - [API Platform](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/api-platform.md): 22 questions, Confirmé - [Serializer Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/serializer.md): 20 questions, Confirmé - [Events & Event Subscribers](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/events-subscribers.md): 20 questions, Confirmé - [Console & Commands](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/console-commands.md): 18 questions, Confirmé - [Messenger Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/messenger.md): 22 questions, Confirmé - [HTTP Client](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/http-client.md): 18 questions, Confirmé - [Cache & Performance](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/cache.md): 20 questions, Confirmé - [Workflow Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/workflow.md): 18 questions, Confirmé - [Testing Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/testing.md): 22 questions, Confirmé - [Mailer Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/mailer.md): 16 questions, Confirmé - [Translations & i18n](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/translations.md): 16 questions, Confirmé - [EasyAdmin Bundle](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/easyadmin.md): 18 questions, Confirmé - [Architecture Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/architecture-patterns.md): 24 questions, Senior - [Performance & Optimisation](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/performance-optimization.md): 22 questions, Senior - [Sécurité avancée](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/security-advanced.md): 22 questions, Senior - [Custom Bundles](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/custom-bundles.md): 20 questions, Senior - [Microservices avec Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/microservices.md): 22 questions, Senior - [Real-time & WebSockets](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/real-time.md): 18 questions, Senior - [Deployment & DevOps](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/deployment-devops.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/symfony/questions-entretien/doctrine-advanced