<p>Je mets en place une WebApi en .NET Core 2.0. J’utiliserai Entity Framework Core comme ORM. L’ensemble de l’application sera déployé en tant que conteneur Docker. Ce qui me perturbe un peu, c’est la manière de gérer les migrations de base de données dans ce cas. Je parle de l’environnement de PRODUCTION. Voici ce que j’ai réussi à trouver :</p>
<ul>
<li>
<p>On lance simplement Database.Migrate() au démarrage de l’application en oubliant le reste du monde - hmm d’une certaine manière je n’aime pas ça <img src="//forum-microsoft.fr/images/emoji/twitter/wink.png?v=15" title=":wink:" class="emoji" alt=":wink:" loading="lazy" width="20" height="20"></p>
</li>
<li>
<p>Database.Migrate() piloté par un paramètre en ligne de commande (exécuter le conteneur Docker une fois avec un paramètre spécifié pour migrer la base de données)</p>
</li>
<li>
<p>Se connecter au conteneur de l’application et exécuter <code>dotnet ef database update</code></p>
</li>
<li>
<p>Générer du SQL pur et simple basé sur les migrations et l’exécuter depuis un outil de gestion de base de données. Semble vieux jeu mais valide. Ce que je déteste, c’est de devoir exécuter les scripts moi-même.</p>
</li>
<li>
<p>Préparer un conteneur de base de données qui contiendrait déjà les scripts générés depuis le code ci-dessus, et qui les exécuterait automatiquement.</p>
</li>
</ul>
<p>D’autres suggestions ? Ou quelle est la meilleure solution, la plus appropriée ?</p>
<p>Cordialement</p>