Dans Entity Framework 6, je dois obtenir le script SQL pour un fichier de migration spécifique et mettre déjà à jour la base de données. J'ai trouvé que dans la commande update-database
je peux ajouter un paramètre de script pour l'exporter en SQL mais j'ai déjà mis à jour la base de données. J'ai trouvé dans Entity Framework Core une commande appelée Script-Migration
avec un nom de script en tant qu'argument. Existe-t-il une commande similaire dans le cadre Entity?
j'ai aussi essayé ci-dessous, et j'ai obtenu un fichier SQL vide Commande de mise à jour de la base de données
Oui, vous pourriez faire comme suit:
Update-Database -Script -SourceMigration: <pointFromWichYouWantToStartWithGeneration> -TargetMigration: <pointWhereToEndWithGeneration>
Pour créer un script pour toutes les migrations, exécutez les actions suivantes:
Update-Database -Script -SourceMigration: $InitialDatabase
Au lieu d'appliquer les modifications à la base de données, il génère un fichier de script SQL. Par conséquent, vous pouvez générer un script SQL même si la migration a déjà été appliquée à la base de données.
Vous trouverez ici plus d’informations à ce sujet - Premières migrations du code Entity Framework - Obtention d’un script SQL .
Exécutez la commande
Update-Database
mais, cette fois, spécifiez l'indicateur–Script
pour que les modifications soient écrites dans un script plutôt que appliquées. Nous spécifierons également les migrations source et cible pour lesquelles générer le script.
Si vous souhaitez générer -Script pour la migration N, spécifiez -SourceMigration N-1 (migration précédente) et -TargetMigration N.