0

我有一个我继承的项目,它是作为 Orchard CMS 的一个模块构建的。我应该指出我不是 Orchard 或 ASP.NET 编程方面的专家。我是一个桌面应用程序的人。我的网络技能足够强大,足以对自己和他人构成危险。:-)

在开发过程中,我们使用 Migrations.cs 中的 UpdateFromXX() 方法向架构中添加了几个新字段。如果我回滚 Azure 数据库并从我的开发环境 (VS2017) 运行 Orchard,我可以在我的 UpdateFromXX() 方法中设置一个断点并证明代码已执行并在我的数据库中正确创建我的新字段。

但是,如果我回滚我的数据库并将我的 Orchard 站点部署到 Azure(而不从我的开发环境中运行它),Migrations.cs 似乎不会运行,因此我拥有的与新 db 字段交互的任何新代码都将失败因为数据库中缺少这些字段。

在 Azure 中部署时,导致 Orchard 执行/重新执行 Migrations.cs 逻辑的正确方法是什么?我的意图很简单,当我们完成开发和测试并准备将更新发布到我们的生产服务器时,我可以简单地发布新站点,我的生产数据库将自动升级(因为新发布的果园将下降通过 Migrations.cs 并执行任何必要的 UpdateFromXX() 方法)。

4

1 回答 1

0

请检查您的模块的 Orchard_Framework_DataMigrationRecord 记录。您会发现它是否为您的模块显示正确的版本。如果您的 UpdateFromXX 方法中的版本号小于 XX,则将执行 UpdateFromXX 方法。此外,请检查禁用和启用您的模块是否可以解决您的问题。

于 2017-06-30T06:02:04.680 回答