SiteFinity升级App_Data \ Sitefinity \ Configuration

时间:2014-04-14 20:09:45

标签: sitefinity

我正在将我们的5.1网站升级到最新版本。

我对文档中的这一步有疑问。我没有对数据库进行任何新的更改。我只需要升级。我在暂存计算机中运行了项目管理器,并注意到配置文件已更新。我没有在本地复制数据库。我应该对〜/ App_Data / Sitefinity / Configuration中的文件做什么吗?

来源:http://www.sitefinity.com/documentation/documentationarticles/upgrading-you-sitefinity-5.1-project-to-the-latest-version

... 如果要使用本地升级的文件替换生产网站和数据库,请将升级的网站及其数据库打包并在生产环境中部署。有关更多信息,请参阅部署。

如果您希望合并本地升级的网站与生产网站而不替换数据库,请执行以下操作:

将升级后的网站打包,不包含〜/ App_Data / Sitefinity / Configuration中的配置文件。 不包括本地升级的数据库。 ...

有人能指出我正确的方向吗?感谢。

2 个答案:

答案 0 :(得分:1)

这是升级的工作方式:

项目管理器更新bin文件夹中的DLL文件。您需要重新编译解决方案,以便SitefinityWebApp.dll使用更新的dll引用。

当您第一次运行该站点时,升级过程将启动,并更新.config文件。 它还可以通过以下方式更新数据库,几个表,可以是:

  • 更改数据库架构,例如将新列添加到现有表等。这通常由不同的模块触发,例如,消息
  • 使用新版本更新 sf_schema_vrsns 表 - 此表中的值必须与配置文件中的版本匹配。

现在,当你在登台或开发环境中完成升级并且测试了它并希望将Live环境升级到新版本时,这些是你的选择:

  1. 将所有项目文件从dev复制到live(包括Bin文件夹,web.config,.config文件等)并将数据库从Dev恢复为Live。 如果自上次备份以来没有对实际站点进行任何更改,这是可以的,这是您的情况。 在数据库还原期间,将无法访问该站点
  2. OR

    1. 将所有DLL文件从Dev环境的Bin文件夹(包括SitefinityWebApp.dll)复制到Live Bin文件夹。这将重新启动站点,当它第一次运行后,它将看到dll版本高于配置文件和数据库中的版本,并将启动升级过程。 这意味着 - 它将更新配置文件和数据库,如上所述。 数据库更新可能需要一些时间,具体取决于旧版本的旧版本以及新版本的新版本,但通常速度相当快。此外,数据库的大小很重要,例如升级到6.3有一个任务来更新sf_object_data表中的所有记录,在我们的例子中它们是数十万,它正在做一些其他的LINQ计算等等所以它可能需要一些例如,如果您的DB为10GB,则为时间。 在升级数据库期间,将无法访问该站点。请注意,并非所有数据库升级任务都是阻止的 - 这意味着在访问站点之前只需要执行最重要的任务。长时间运行的升级任务通常在后台完成(作为sf_scheduled_tasks表中的计划任务),因此可以在此期间访问该站点。

答案 1 :(得分:0)

我认为当您将Sitefinity 5.1升级到最新版本时,您无需更改数据库。因为它只是更新bin文件夹中的汇编文件和dll。

您可以在以下网址阅读更多信息: http://docs.sitefinity.com/upgrade