我有!用digikam管理的价值十年的标签照片和我的debian稳定/测试组合最近升级至digikam 5. *。(mysql)数据库迁移难度从digikam 4. *迁移到5. *
我现在面临的问题是,在尝试升级到更新的数据库方案(v.8)时,持有爱情劳动的(mysql)数据库似乎给出了问题。 。
当开始的digiKam V5 *指着4 * - 使用的后台数据库,我得到以下几点:
digikam.dbengine: Loading SQL code from config file "/usr/share/digikam/database/dbconfig.xml"
digikam.dbengine: Checking XML version ID => expected: 3 found: 3
digikam.coredb: Core database: running schema update
digikam.coredb: Core database: have a structure version 7
digikam.coredb: Core database: makeUpdates 7 to 8
digikam.dbengine: Failure executing query:
""
Error messages: "QMYSQL: Unable to execute query" "Can't DROP 'Albums_AlbumRoots'; check that column/key exists" 1091 2
Bound values: ()
digikam.dbengine: Error while executing DBAction [ "UpdateSchemaFromV7ToV8" ] Statement [ "ALTER TABLE Albums\n DROP FOREIGN KEY Albums_AlbumRoots;" ]
digikam.coredb: Core database: schema update to V 8 failed!
digikam.coredb: Core database: cannot process schema initialization
当明确尝试使用纳入5.数据库迁移工具*我结束了在下面的图像中显示的错误:
任何人都可以帮助解释这里发生了什么,分别是如何解决它?
荷兰Joh
谢谢你指出这一点。在我的情况下,您的查询结果如下: 'select * from ImageInformation imageid not in(从图像中选择id);#18 rows' 'select * from ImageMetadata imageid not in(从图像中选择id);#18 rows' 'select * from ImageComments where imageid not in(select id from Images);#21 rows' 'select * from标签其中pid!= 0且pid不在(从标签中选择id); #1 row' 'select * from ImageTags where tagid not in(从标签中选择id);#8 rows' 'select * from ImageTags where imageid not in(从图像中选择id);#111 rows'。我是否删除这些行? – balin
对于“爱的十年”,它似乎只是一小部分的损失,所以我只是删除它。当然,我认为你有一个非常安全的地方你的数据库的当前状态备份... 我也看看附件https://bugs.kde.org/attachment.cgi?id=99906和错误报告的https://bugs.kde.org/attachment.cgi?id=99907 - 在更新尝试和手动更新脚本之前修复数据库。 – Jockel
重新读取您的评论并删除除代码生成的具有根标记的行之外的所有行,并且逐步完成Bug提供的模式v.7到v.8升级代码解决了我的问题。非常感谢你。 – balin