J'utilise Visual Studio pour mettre à jour tous mes environnements avec une certaine migration. Cela avait bien fonctionné en utilisant la commande ci-dessous.
update-database -Migration initMigrationProduct -c ProductContext -Environment Production
Dans ef core 2.0, cette commande a été modifiée et le paramètre -Environment a été supprimé. Dans la documentation, il est dit.
"Avec la version 2.0, vous pouvez utiliser la variable d'environnement ASPNETCORE_ENVIRONMENT à la place."
https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet
J'ai maintenant essayé toutes sortes de méthodes, mais lorsque je lance le programme update-database
avec ef core 2.0, il n'utilise pas la fonction ASPNETCORE_ENVIRONMENT
variable. J'ai essayé de la définir dans le registre, dans les propriétés de l'application.
Veuillez me dire ce que je dois faire pour que cela fonctionne pour mettre à jour différents environnements ?
Si je démarre l'application avec différents launchsettings
cela fonctionne mais pas en utilisant la console du gestionnaire de paquets.
0 votes
Essayez
set ASPNETCORE_ENVIRONMENT=EnvironmentName
avant d'exécuter la commande.2 votes
Utilisez-vous une invite PowerShell ? Vous devez utiliser
$env:ASPNETCORE_ENVIRONMENT='EnvironmentName'
1 votes
J'ai essayé, j'ai défini ASPNETCORE_ENVIRONMENT=Production dans la console PM de visual studio mais il n'utilise pas l'environnement, il utilise juste le développement par défaut.
0 votes
Notez que dans la réponse acceptée de $env:ASPNETCORE_ENVIRONMENT = "Development", l'option $env est sensible à la casse. $Env:ASPNETCORE_ENVIRONMENT fonctionnera dans certaines situations, mais IDesignTimeDbContextFactory ne le détectera pas. Je me suis gratté la tête pendant un certain temps à ce sujet...