gpt4 book ai didi

c# - .Net Core - 根据环境更改数据库迁移

转载 作者:太空宇宙 更新时间:2023-11-03 17:05:12 25 4
gpt4 key购买 nike

因此,我试图弄清楚针对开发中的 PostgreSQL 数据库和生产中的 SQL Server 数据库运行应用程序的黄金路径是什么。困难的部分是迁移会有所不同。目前,我的做法是这样的:

public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(SetDbContextOptionsForEnvironment, ServiceLifetime.Transient);
}

private void SetDbContextOptionsForEnvironment(DbContextOptionsBuilder options)
{
if(_environmentName == "production") {
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]);
}
else {
options.UseNpgsql(Configuration["Data:DefaultConnection:ConnectionString"]);
}
}

将迁移保存在单独的程序集中并在选项中指定该程序集的首选方法是什么?那么我还需要在这些程序集中对同一个 DbContext 进行多个定义吗?

最佳答案

考虑了一段时间后,我认为这是一种反模式。不管我的具体用例是什么(开发中的 postgres,生产中的 SQL Server),我认为对不同的环境使用不同的数据库系统是不受欢迎的,因为部署后可能会出现意想不到的问题。最好坚持使用同一个进行开发和生产。

关于c# - .Net Core - 根据环境更改数据库迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39046863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com