仅将实体迁移应用于某些环境
Apply Entity Migration Only to Certain Environments
我有 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)
{
}
}
如果环境是 "Production",我如何才能应用此迁移?
如果您的作用域中有 IHostingEnvironment,您可以使用 IHostingEnvironment::IsProduction
方法或静态方法 System.GetEnvironmentVariable ("ASPNETCORE_ENVIRONMENT")
检查 ASPNETCORE_ENVIRONMENT 变量的值
我有 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)
{
}
}
如果环境是 "Production",我如何才能应用此迁移?
如果您的作用域中有 IHostingEnvironment,您可以使用 IHostingEnvironment::IsProduction
方法或静态方法 System.GetEnvironmentVariable ("ASPNETCORE_ENVIRONMENT")