You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6 Web API发布至Ubuntu服务器后PostgreSQL数据库未生成求助

解决Code First部署到Ubuntu后PostgreSQL数据库未生成的问题

是的,你需要在Ubuntu服务器上执行EF Core的迁移命令来生成生产环境数据库,Visual Studio发布过程不会自动帮你执行update-database操作。具体步骤如下:

  • 登录到Ubuntu服务器,导航到你的API项目发布后的部署目录
  • 确认服务器已正确安装.NET 6 SDK(你已说明已安装,可跳过此步)
  • 执行迁移命令:
    dotnet ef database update
    
    如果你的DbContext所在项目是类库而非Web项目,需要指定项目路径:
    dotnet ef database update --project ./你的类库项目名称.csproj
    

另外,也可以通过代码实现启动时自动迁移,但不推荐在生产环境使用,因为可能导致意外的 schema 变更。如果要测试使用,可在Program.cs中添加以下代码:

using (var scope = app.Services.CreateScope())
{
    var dbContext = scope.ServiceProvider.GetRequiredService<你的DbContext类>();
    dbContext.Database.Migrate();
}

内容的提问来源于stack exchange,提问作者Niki Gagliardi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:52:02