2005年10月17日

Linux | trac データベースエラー

今朝出社して、tracサイトにアクセスすると

Trac detected an internal error:

file is encrypted or is not a database
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/core.py", line 531, in cgi_start
real_cgi_start()
File "/usr/lib/python2.3/site-packages/trac/core.py", line 513, in real_cgi_start
env = open_environment()
File "/usr/lib/python2.3/site-packages/trac/core.py", line 190, in open_environment
version = env.get_version()
File "/usr/lib/python2.3/site-packages/trac/Environment.py", line 162, in get_version
cursor.execute("SELECT value FROM system WHERE name='database_version'")
File "/var/tmp/python-sqlite-root//usr/lib/python2.3/site-packages/sqlite/main.py", line 244, in execute
DatabaseError: file is encrypted or is not a database

とエラーが表示され、どうすることもできなくなっていた。

プロジェクトのタスク管理を任せていたので、やばいなと焦りつつGoogleで検索すると、全く同じ症例と解決法を見つけることが出来た。tracのML過去ログでも同じ解決法が挙げられていたので、やってみたら解決。でもレポートのソートが変わってた。

Googleで見つけたサイトはもうキャッシュにしか残ってないのでここに残しておきます。

We've finally tracked the problem to SQLite version 2.x vs 3.x

On Fedora Core 4, Trac uses SQLite 3.x although the trac.db database in conf directory is in version 2.x format. The solution is to manually upgrade all the Trac environment databases to version 3.x:

mv trac.db trac2.db
sqlite trac2.db .dump | sqlite3 trac.db

Posted by otsuka : 10:59 | Comment (0) | Trackback (0)
Comment









名前、アドレスを登録しますか?