我正在尝试将 trac! 从 0.10.3 升级到 0.12。需要帮助,我基本上按照此处显示的步骤进行操作
http://trac.edgewall.org/wiki/TracUpgrade
获得 Linux 版本 2.6.18-6-686 (Debian 2.6.18.dfsg.1-18etch1) ([电子邮件保护]) (gcc 版本 4.1.2 20061115 (预发布) (Debian 4.1.1-21)) #1 SMP 2008 年 2 月 10 日星期日 22:11:31 UTC
获得 Python 2.4.4 (#2, 2010 年 1 月 24 日,11:19:18)
mysql: 服务器版本:5.0.32-Debian_7etch11-log Debian etch 发行版
因此我顺利地执行了这些命令:
todasana:~# easy_install —升级 Trac0.12 正在搜索 Trac0.12
todasana:~# trac-admin /usr/local/apache2/htdocs/trac_catw3 升级
todasana:~# trac-admin /usr/local/apache2/htdocs/trac_catw3 wiki 升级
todasana:~# trac-admin /usr/local/apache2/htdocs/trac_catw3 存储库重新同步“*”
没有执行第 5 步刷新静态资源,因为我不理解它,而且我认为它不适用于我:trac-admin /path/to/env deploy /deploy/path
然后我 重新启动 apache:/etc/init.d/apache2 restart
现在在浏览器中收到此错误:
Mod_python 错误:“PythonHandler trac.web.modpython_frontend”
回溯(最近一次调用最后一次):
文件“/usr/lib/python2.4/site-packages/mod_python/apache.py”,第 299 行,在 HandlerDispatch 中
结果 = 对象(req)
文件“/var/lib/python-support/python2.4/trac/web/modpython_frontend.py”,第 87 行,在处理程序
gateway.run(dispatch_request)
文件“/var/lib/python-support/python2.4/trac/web/wsgi.py”,第 87 行,在运行
响应 = 应用程序(self.environ,self._start_response)
文件“/var/lib/python-support/python2.4/trac/web/main.py”,第 377 行,在 dispatch_request
env = _open_environment(env_path,run_once=run_once)
文件“/var/lib/python-support/python2.4/trac/web/main.py”, 第 58 行, 在 _open_environment
env_cache[env_path] = open_environment(env_path)
文件“/var/lib/python-support/python2.4/trac/env.py”, 第 435 行, 在 open_environment 中
如果 env.needs_upgrade():
文件“/var/lib/python-support/python2.4/trac/env.py”, 第 315 行, 在 needs_upgrade 中
如果 party.environment_needs_upgrade(db):
文件“/var/lib/python-support/python2.4/trac/env.py”, 第 373 行, 在 environment_needs_upgrade 中
引发 TracError, ‘数据库比 Trac 版本新’
TracError:数据库比 Trac 版本新
昨天我修复了错误,但又出现了新的错误!我不喜欢我修复之前错误的方式,我认为它并没有真正修复,因此我遇到了更多错误
我更改了数据库上的一个值:UPDATE system
SET value
= '19'。(原始值为 26)
源代码控制和导航工作正常,但是无法创建新的票据!我得到:
哎呀...Trac 检测到内部错误:
如果您认为这确实可以工作并且可以重现它,那么您应该考虑将此问题报告给 Trac 团队。
前往 trac.edgewall.org 并创建一个新票据,在其中描述问题以及如何重现它。不要忘记包含下面的 Python 回溯。
TracGuide — Trac 用户和管理指南 Python 回溯
回溯(最近一次调用最后一次):文件“/var/lib/python-support/python2.4/trac/web/main.py”,第 387 行,在 dispatch_request dispatcher.dispatch(req)文件“/var/lib/python-support/python2.4/trac/web/main.py”,第 237 行,在 dispatch resp = chosen_handler.process_request(req)文件“/var/lib/python-support/python2.4/trac/ticket/web_ui.py”,第 302 行,在 process_request get_reporter_id(req,'author'))文件“/var/lib/python-support/python2.4/trac/ticket/web_ui.py”,第 658 行,在 _insert_ticket_data 中actions = TicketSystem(self.env).get_available_actions(ticket,req.perm)文件“/var/lib/python-support/python2.4/trac/ticket/api.py”, 第 83 行, 在 get_available_actions 中返回 [action for action in action.get(ticket['status'], ['leave']) 文件“/var/lib/python-support/python2.4/trac/ticket/model.py”, 第 104 行, 在获取项目 返回 self.values[name] KeyError: 'status'
“
无论如何,如果我将数据库系统值更改为 20,网站就可以运行,但是当我创建票据时,我收到原始错误:
Mod_python 错误:“PythonHandler trac.web.modpython_frontend”
回溯(最近一次调用最后一次):
文件“/usr/lib/python2.4/site-packages/mod_python/apache.py”,第 299 行,HandlerDispatch 中的结果 = object(req)
文件“/var/lib/python-support/python2.4/trac/web/modpython_frontend.py”,第 87 行,在处理程序 gateway.run(dispatch_request) 中
文件“/var/lib/python-support/python2.4/trac/web/wsgi.py”,第 87 行,运行响应 = 应用程序(self.environ,self._start_response)
文件“/var/lib/python-support/python2.4/trac/web/main.py”,第 377 行,在 dispatch_request env = _open_environment(env_path, run_once=run_once)
文件“/var/lib/python-support/python2.4/trac/web/main.py”,第 58 行,在 _open_environment env_cache[env_path] = open_environment(env_path)
文件“/var/lib/python-support/python2.4/trac/env.py”,第 435 行,在 open_environment 中,如果 env.needs_upgrade():
文件“/var/lib/python-support/python2.4/trac/env.py”,第 315 行,在 needs_upgrade 中,如果 party.environment_needs_upgrade(db):
文件“/var/lib/python-support/python2.4/trac/env.py”,第 373 行,在 environment_needs_upgrade 中引发 TracError,‘数据库比 Trac 版本新’
TracError:数据库比 Trac 版本新
有什么想法吗?谢谢!
答案1
我建议您部署一个新的 trac 环境,移动数据库(根据需要将系统值更新为 19)和配置文件,为该实例添加另一个 vhost 并再次测试。