C# EF Core Postgres更新数据库正在尝试创建已存在的数据库

C# EF Core Postgres更新数据库正在尝试创建已存在的数据库,c#,postgresql,entity-framework-core,ef-core-3.0,C#,Postgresql,Entity Framework Core,Ef Core 3.0,我正在.NETCore3.1的EFCore上使用PostgreSQL。在我的本地机器上,我能够成功地更新数据库,从而创建了数据库并应用了迁移 现在我们正转向开发环境,我们的DBA已经创建了数据库,我只需要能够运行迁移来设置表 但是,当我运行更新数据库时,我得到错误: CREATE DATABASE "Zeal"; Npgsql.PostgresException (0x80004005): 42501: permission denied to create database

我正在.NETCore3.1的EFCore上使用PostgreSQL。在我的本地机器上,我能够成功地
更新数据库
,从而创建了数据库并应用了迁移

现在我们正转向开发环境,我们的DBA已经创建了数据库,我只需要能够运行迁移来设置表

但是,当我运行
更新数据库
时,我得到错误:

CREATE DATABASE "Zeal";
Npgsql.PostgresException (0x80004005): 42501: permission denied to create database
我不知道为什么它要尝试创建数据库,如果它已经存在于第一位。我创建的迁移没有说明任何关于实际创建数据库的内容。我如何才能强制它不尝试运行此脚本的
CREATE DATABASE-Zeal
部分?之后的一切都应该是正确的

我尝试删除所有迁移和
ZeardbContextModelSnapshot
,运行
Add Migration Initial
,然后
Update Database
尝试重置它,但得到了相同的结果

这是我的
ContextFactory
代码。我想我可以在这里设置一些选项来禁用迁移期间的数据库创建步骤,但我无法在线找到任何解决方案

    public class ZealDbContextFactory : IDesignTimeDbContextFactory<ZealDbContext>
    {
        public IConfigurationRoot _config;
        public string _connString = "";

        public ZealDbContextFactory()
        {
            var env = "DEV";

            _config = new ConfigurationBuilder()
                .AddJsonFile("dbsettings.json")
                .Build();
            _connString = _config.GetConnectionString("ZealConnection_" + env);
        }

        public ZealDbContext CreateDbContext(string[] args)
        {
            var optionsBuilder = new DbContextOptionsBuilder<ZealDbContext>();
            optionsBuilder.UseNpgsql(_connString, x =>
            {
                //what options can I set here to disable database creation step during Update-Database?
            });
            return new ZealDbContext(optionsBuilder.Options, new MockConfiguration { EnvironmentName = "DEV" }, null!);
        }
公共类ZeedbContextFactory:IDesignTimeDbContextFactory
{
公共IConfigurationRoot\u config;
公共字符串_connString=“”;
public-ZeredbContextFactory()
{
var env=“DEV”;
_config=new ConfigurationBuilder()
.AddJsonFile(“dbsettings.json”)
.Build();
_connString=\u config.GetConnectionString(“连接”+env);
}
public-ZeardContext CreateDbContext(字符串[]args)
{
var optionsBuilder=new DbContextOptionsBuilder();
optionsBuilder.UseNpgsql(_connString,x=>
{
//在更新数据库期间,我可以在此处设置哪些选项来禁用数据库创建步骤?
});
返回NewZeardContext(optionsBuilder.Options,new MockConfiguration{EnvironmentName=“DEV”},null!);
}

显然Postgres中的数据库名称区分大小写。我请求DBA创建数据库
Zeal
,但得到了
Zeal
。当我将连接字符串更新为
Zeal
时,迁移成功应用