DNNGO-低头做事,抬头做人!

                    天道酬勤!
posts - 23, comments - 185, trackbacks - 25, articles - 2
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

简述DNN版本升级机制及升级失败后的处理

Posted on 2007-04-27 08:50 如风 阅读(...) 评论(...) 编辑 收藏
  DNN通过升级包来进行版本升级,给不少站长解决了升级维护的问题,不过升级不总是顺利的,失败后如何处理成了一些群友的热点问题。现就这个问题进行简单探讨。

  DNN升级的机制如下:

  1、取程序集版本。
  2、取数据库版本。
  3、拿数据库版本和程序集版本进行对比,如果相等,跳转至5,如果不等,跳转到4
  4、进入升级页面进行版本升级。
  5、进入默认主页。

  以下是一个典型的案例:
  三月三(1350XXXX) 22:42:45
  大家有没有这样的问题啊!谢谢解答!
  我升级到4.5以后,出现问题,然后又还原,之后,每次进入主页都会转到
  Install/Install.aspx?mode=Install
  显示内容就是
  Upgrading DotNetNuke
  Current Assembly Version: 04.04.01
  Current Database Version: 04.05.01
  Upgrade Status Report
  00: - Performing General Upgrades
  Upgrade Complete
  Click Here To Access Your Portal
  

  分析:上述问题,虽然提问者在程序上已经还原到旧的版本,但是由于数据库并没有还原到旧版本,所以升级机制会检测到版本不一致,从而进入升级流程,但进入升级流程里,又无法升级到目标版本,因此每次进入主页都会出现上述问题了。

  解决:进入DNN数据库,打开数据库version,删除比当前程序集版本高的数据库版本。处理后的数据表如下:

  

  上表我们可以看出我们保留了2个版本历史记录,一个是4.40,一个是4.41,它们小于或等于当前程序集版本。

  测试,直接进入主页,问题解决,搞定,收工。

  PS,最近在研究DNN数据库结构,ARJX和FCKeditor Provider,有兴趣的朋友,欢迎共同探讨。稍后我也会在博客上发表我的一些收获。