【发布时间】:2022-01-07 07:50:20
【问题描述】:
我们有一组数据库迁移代码,我们使用自定义配置运行在以下类上:
builder.HasData(SeedDataHelper.SeedFromJson<Make>("../Project/Seeds/Makes.json"));
这在进行本地迁移时效果很好。
问题是当我们部署应用时,种子的新文件路径是:
../wwwroot/Seeds/Makes.json
有没有办法在部署后保持路径不变,或者有一个设置来确定使用哪个路径?
我尝试添加一个 local.settings.json 并告诉启动将 json 读入环境变量。但是在使用 GetEnvironmentalVariable 时。我返回 null。
【问题讨论】:
-
builder.HasData(SeedDataHelper.SeedFromJson<Make>("Seeds/Makes.json"));不够吗?当您已经在文件夹中时,您要向上一个文件夹访问该文件夹吗? -
@pevecg 所以我们有一个名为persistence 的项目,配置代码就在其中。但是 SeedFromJson 在另一个帮助项目中。例如,如果我使用“Makes.json”,它会尝试并在以下位置查找文件:\ApiProject\Makes.json'。但是本地种子在\PersistenceProject\Makes.json'中。
-
代替 "../Project/Seeds/Makes.json" 尝试 "~/Project/Seeds/Makes.json" 一次并检查。