当我要更新数据库时,我首先运行$env:ASPNETCORE_ENVIRONMENT="Development"
,然后再执行Update-Database
命令来设置正确的环境。例如,如果我以前已经部署了对Test的更改,则运行此命令应该使我回到开发环境,而不再指向Test。
不幸的是,这可能仅在33%的时间内起作用。每次我运行此命令时,我也会同时运行$env:ASPNETCORE_ENVIRONMENT
并检查它是否返回了正确的环境并且确实如此。然后,我运行所需的Update-Database
命令,它以某种方式更改回以前的环境。
任何人都对我做错了什么或是否知道我将连接到正确的数据库有任何想法?如果命中了错误的数据库,并且碰巧删除了数据或系统宕机,那么这可能非常糟糕。
答案 0 :(得分:-1)
您应该在数据库更新脚本中设置/导出变量,而不是在命令行中导出变量。因此,如果您正在运行Shell脚本,则可以通过标准导出命令进行导出。如果运行的是perl / python,则应在脚本中更新环境变量。这样,您将拥有一致的行为。