我有两个环境 - 开发和生产。 我的应用程序中的存储过程对于每个环境都有所不同,在内部它们使用不同的链接服务器和服务器特定的其他子查询,但是proc具有相同的输入参数和输出结果列。
我将所有过程都放入迁移中,但在部署时,我发现需要某种条件迁移代码来部署特定于生产的存储过程。
有没有办法根据配置设置或项目目标(如Debug,Release等)运行不同的迁移代码? 当你必须拥有不同的环境特定迁移代码时,是否有人面对某些事情?
请咨询
答案 0 :(得分:1)
您可以在迁移中使用#if指令,如下所示:
#if Release
Sql("Update...");
#elif Debug
Sql("Delete...");
#endif
构建解决方案时,您只需要传递正在构建的配置(调试,测试,发布等)。
答案 1 :(得分:0)
我参加这个聚会很晚,但是在迁移到EF.Core时遇到了这个问题,只想更新开发中的某些内容。 环境变量对此非常有效 例如
if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") == "Development")
...