我在装有 XAMPP 的 WindowsXP 机器上运行了一个 Trac 实例。我正尝试将 trac 实例迁移到较新的基于 Linux 的机器上。但是,我很难让数据库配合。
我尝试用以下命令转储数据库:
sqlite3 C:\tracroot\db\trac.db ".dump" >> mysqldump.sql
但生成的文件大部分是空的:
BEGIN TRANSACTION;
COMMIT;
所以这是不对的。据记录,我的 trac 实例现在正在运行,并且似乎可以完全访问 DB 的所有内容。但 sqlite3(位于 C:\xampp\apache\bin)似乎无法从文件中获取任何信息。DB 文件本身有标题“SQLite 格式 3”,所以这似乎是正确的。
我需要知道以下两件事之一:
- 如何让这个转储工作或
- 将 Trac 数据库迁移到新机器的另一种方法。
更新:当我尝试在 sqlite3 中打开 .db 文件时,出现错误Error: unsupported file format
。它是什么格式,为什么不受支持?
答案1
我的 sqlite3 二进制文件显然是旧版本,并且与 trac 使用的 DB 版本向后不兼容。我更新到较新的 sqlite3 二进制文件,一切正常。
答案2
显然需要办理移民手续。
答案3
您确定您当前正在使用 sqlite 作为后端数据库吗?(检查您的trac.ini
行[trac]
database = sqlite:db/trac.db
。)可能是您拥有的 db/trac.db 是初始设置遗留下来的,但数据实际上存储在另一个数据库中。