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

时间:2019-01-15 17:54:27

标签: postgresql entity-framework asp.net-core-2.1

我有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)
        {

        }
    }

仅在环境为“生产”时如何才能进行此迁移?

1 个答案:

答案 0 :(得分:1)

如果您的范围中有IHostingEnvironment,则可以使用IHostingEnvironment::IsProduction方法检查ASPNETCORE_ENVIRONMENT变量的值,也可以使用静态方法System.GetEnvironmentVariable ("ASPNETCORE_ENVIRONMENT")