我已经将我的D6站点更新为Drupal 7。即使在运行了几次update.php脚本之后,仍然存在两个错误:
以下更新返回消息:
更新#7061
失败: DatabaseSchemaObjectExistsException:表system_update_7061已经存在。在DatabaseSchema->createTable()中( /home/liga/public_html/includes/database/schema.inc).的第657行)
更新#7201
失败: DatabaseSchemaObjectDoesNotExistException:无法更改字段的定义votingapi_vote.content_type:字段不存在。在DatabaseSchema_mysql->changeField()中( /home/liga/public_html/includes/database/mysql/schema.inc).的第454行)
注意:我已经在D6中安装了投票权API模块,但是我还没有升级它。
这就是我所做的:我已经在D6中关闭了模块,升级了所有的东西,我还没有更新模块,也没有尝试使用它。也许第二个错误会消失,当我升级投票Api到d7。但是第一个错误呢?
任何想法都将不胜感激。谢谢!
发布于 2013-09-11 19:11:18
当发生这种情况时,我的方法是查看D6的干净安装中的表结构,以确定应该存在哪些字段,并将其与当前站点中的表结构进行比较。之所以会出现这个问题,是因为更新脚本发现了一些意想不到的东西,因此您需要弄清楚这是什么。
在某些情况下,我重新命名了当前数据库中的有问题的表,因此我得到了一个副本,创建了一个具有正确结构的新表,然后将数据从备份表复制到新表中。我在一个Mac上,续集Pro让你通过一个方便的GUI很容易做到这一点。
在另一些情况下,我查看了错误中注意到的特定更新脚本,以查看它试图对数据库进行哪些更改--将其与当前版本的表进行比较可以帮助确定为什么不允许更新发生。
这种方法通常允许我处理升级过程中遇到的大多数数据库问题。
https://drupal.stackexchange.com/questions/73092
复制相似问题