Postgresql 仅将实体迁移应用于某些环境

Postgresql 仅将实体迁移应用于某些环境,postgresql,entity-framework,asp.net-core-2.1,Postgresql,Entity Framework,Asp.net Core 2.1,我有3个现有的环境:开发环境、暂存环境和生产环境,每个环境都有几个数据库。我希望能够通过迁移运行sql脚本,但它只会影响登台和生产 我已经创建了迁移并插入了SQL脚本 public partial class TrimPTPrimaryPCCodes : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuild

我有3个现有的环境:开发环境、暂存环境和生产环境,每个环境都有几个数据库。我希望能够通过迁移运行sql脚本,但它只会影响登台和生产

我已经创建了迁移并插入了SQL脚本

public partial class TrimPTPrimaryPCCodes : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.Sql("UPDATE public.\"Table\" set \"Code\" = TRIM(\"Code\");");
        }

        protected override void Down(MigrationBuilder migrationBuilder)
        {

        }
    }

如何使此迁移仅在环境为“生产”时才适用?

如果您的作用域中有IHostingEnvironment,则可以使用
IHostingEnvironment::iProduction
方法或通过静态方法
System.GetEnvironmentVariable(“ASPNETCORE\u环境”)检查ASPNETCORE\u环境变量的值)

谢谢
System.Environment.GetEnvironmentVariable(“ASPNETCORE_环境”)成功了。