mysql 在Azure“Web应用程序+数据库”应用程序设置期间运行迁移时出错

gstyhher  于 2024-01-05  发布在  Mysql
关注(0)|答案(1)|浏览(100)

我正在学习这个教程:https://learn.microsoft.com/en-us/azure/app-service/tutorial-dotnetcore-sqldb-app
我卡在“4.生成数据库模式”,步骤2.2:在SSH终端:“运行由GitHub工作流生成的迁移包./migrate”。
首先,运行该命令会生成错误“关键字'port' is unknown”。
我检查了自动生成的AZURE_MYSQL_CONNECTIONSTRING值,它具有以下格式:
服务器= xxx.mysql.database.azure.com;数据库=xxx;端口=3306;用户ID=xxx;密码=xxx;SSL模式=必需
所以我编辑了端口,然后我得到了错误“关键字'SSL Mode is unknown'”,所以我编辑了SSL模式,现在字符串看起来像这样:
服务器= xxx.mysql.database.azure.com;数据库=xxx;用户ID=xxx;密码=xxx
我得到了这个错误:
与SQL Server建立连接时出现与网络相关的错误或特定于示例的错误。找不到服务器或无法访问服务器。请验证示例名称是否正确以及SQL Server是否已配置为允许远程连接。(provider:TCP提供程序,error:40 -无法打开与SQL Server的连接:无法打开与SQL Server的连接)
在appsettings.json中,我有:“AZURE_MYSQL_CONNECTIONSTRING”:“Server=(localdb)\mssqllocaldb;Database=MyDatabaseContext-ca7b86aa-xxx;Trusted_Connection=True;MultipleActiveResultSets=true”
我该怎么做?

agxfikkp

agxfikkp1#

我遵循这个MSDOC将ASP.NET Core和Azure SQL数据库应用程序部署到Azure App Service。

  • 从NuGet Gallery安装以下软件包:Microsoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Tools
  • 代码取自git
public class Todo
{
    public int ID { get; set; }
    public string? Description { get; set; }

    [DisplayName("Created Date")]
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    public DateTime CreatedDate { get; set; }
}

字符串

  • 为Redis、Azure SQL数据库、Azure SQL服务器创建Azure缓存,并替换appsettings.json中的Azure SQL数据库连接字符串。

Server=tcp:myserver.database.windows.net,1433;Database=myDataBase;User ID=mylogin@myserver;Password=myPassword;Trusted_Connection=False;Encrypt=True;

  • 打开包管理器控制台,使用EntityFramework.Add-Migration YourMigrationName向项目添加新的迁移。


的数据

  • 在EF Core中使用迁移更新数据库涉及使用Up方法从迁移文件应用更改,或使用Down方法恢复更改。要应用或撤消迁移,请运行Update Command

Update-Database



  • 添加服务dependencies并将应用发布到Azure Web应用。

Azure:

相关问题