我想知道如何为生产数据库运行'Update-Database'命令.
"更新 - 数据库"数据库在我的本地计算机上运行良好,但如何使其适用于生产数据?
因此,如果我对我的应用程序进行更改,然后通过visual studio运行"发布",这对于代码方面的工作正常,但是如何为生产数据运行"Update-Database"命令.
希望这个问题有道理......
谢谢,
我在处理数据库连接字符串和迁移时遇到问题.我有2个项目:
该DbContext是在域项目,所以这是我对运行迁移项目.迁移概念强制我OnConfiguring在我DbContext和其中指定数据库提供程序,例如:
protected override void OnConfiguring(DbContextOptionsBuilder builder)
{
builder.UseSqlServer("<connection string>");
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我不想使用硬编码连接字符串,原因很明显,我不能使用ConfigurationManager从配置文件中读取它,因为配置文件在应用程序项目中.
我正在 EF Core 2.1 中使用新的播种数据方式,并且我只想为开发环境播种数据。
最初我尝试过这个:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") != EnvironmentName.Development)
{
return;
}
modelBuilder.Entity<Customer>().HasData(new Customer { ... });
}
Run Code Online (Sandbox Code Playgroud)
但是,我注意到生成的迁移始终会将客户插入数据库中。
有没有办法根据环境限制数据种子?