Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

转换主题数据时出错 #2

Open
LiweiDong opened this issue Nov 8, 2021 · 23 comments
Open

转换主题数据时出错 #2

LiweiDong opened this issue Nov 8, 2021 · 23 comments

Comments

@LiweiDong
Copy link

{"name":"xconvertq","hostname":"fad5fd1756a5","pid":67351,"components":"UserService","level":50,"msg":"Q用户表有除user_id = 1 之外的数据无法继续执行用户转换,请先删除再执行命令","time":"2021-11-08T12:51:01.384Z","v":0}
{"name":"xconvertq","hostname":"fad5fd1756a5","pid":67351,"components":"CategoryService","level":50,"msg":"Q分类表中有出默认分类外的数据,请先删除再执行命令","time":"2021-11-08T12:51:01.397Z","v":0}
{"name":"xconvertq","hostname":"fad5fd1756a5","pid":67351,"components":"AttachmentService","level":50,"msg":"Q附件表中有数据,请先删除再执行命令","time":"2021-11-08T12:51:01.409Z","v":0}

{"name":"xconvertq","hostname":"fad5fd1756a5","pid":67351,"components":"EmojiService","level":30,"msg":"表情转换完成,耗时不到 1 分钟","time":"2021-11-08T12:51:01.491Z","v":0}
[转换表情] 6/6 [================================================================================] 62/rps 100% 0.0s
构建用户缓存
跳过匿名贴2:159736
跳过匿名贴2:160617
跳过匿名贴2:114301
跳过匿名贴2:113874
跳过匿名贴2:116686
跳过匿名贴2:159034
跳过匿名贴2:162316
跳过匿名贴2:163210
。。。
用户不存在:920332
用户不存在:920333
用户不存在:920335
用户不存在:920336
用户不存在:920337
用户不存在:920338
用户不存在:920339
用户不存在:920345
用户不存在:920347
用户不存在:920351
用户不存在:920352
用户不存在:920353
[转换主题信息] 277418/357474 [==============================================================------------------] 3560/rps 77% 22.5s
/snapshot/xconvertq/node_modules/mysql2/lib/packets/packet.js:728
const err = new Error(message);
^

  • Cannot add or update a child row: a foreign key constraint fails (dzq.dzq_posts, CONSTRAINT dzq_posts_user_id_foreign FOREIGN KEY (user_id) REFERENCES dzq_users (id) ON DELETE SET NULL)
    at Packet.asError (/snapshot/xconvertq/node_modules/mysql2/lib/packets/packet.js:728:17)
    at Query.execute (/snapshot/xconvertq/node_modules/mysql2/lib/commands/command.js:29:26)
    at Connection.handlePacket (/snapshot/xconvertq/node_modules/mysql2/lib/connection.js:456:32)
    at PacketParser.onPacket (/snapshot/xconvertq/node_modules/mysql2/lib/connection.js:85:12)
    at PacketParser.executeStart (/snapshot/xconvertq/node_modules/mysql2/lib/packet_parser.js:75:16)
    at Socket. (/snapshot/xconvertq/node_modules/mysql2/lib/connection.js:92:25)
    at Socket.emit (node:events:394:28)
    at addChunk (node:internal/streams/readable:315:12)
    at readableAddChunk (node:internal/streams/readable:289:9)
    at Socket.Readable.push (node:internal/streams/readable:228:10)
    at TCP.onStreamRead (node:internal/stream_base_commons:199:23)

之前数据库有些数据丢失,所以很多帖子和用户没了。 不是会跳过不存在的用户么?

@LiweiDong
Copy link
Author

另外有没有方法可以清理已导入的数据? 没有的话只能用官方的php工具清理完再使用本工具重新导入。

@ZhaiSoul
Copy link
Member

ZhaiSoul commented Nov 8, 2021

直接操作数据库删掉表,然后重新安装一遍

@LiweiDong
Copy link
Author

直接操作数据库删掉表,然后重新安装一遍

你的意思 dzq重新安装一遍 在重新转换数据?

@ZhaiSoul
Copy link
Member

ZhaiSoul commented Nov 8, 2021

先使用数据库管理工具,把表都清理了,然后再DZQ重新安装一遍转换数据
你这个是之前DZQ站点已经有数据了,导致post表转换的时候出错了

@LiweiDong
Copy link
Author

先使用数据库管理工具,把表都清理了,然后再DZQ重新安装一遍转换数据 你这个是之前DZQ站点已经有数据了,导致post表转换的时候出错了

这个转换之前已经清理过了。 我在试一遍吧。

@LiweiDong
Copy link
Author

我DZQ是用的2.3.x的版本,以为官方转换工具是针对2.3制作的。

现在用本工具 是否可以使用最新的3.0版dzq进行操作?

@ZhaiSoul
Copy link
Member

ZhaiSoul commented Nov 8, 2021

我DZQ是用的2.3.x的版本,以为官方转换工具是针对2.3制作的。

现在用本工具 是否可以使用最新的3.0版dzq进行操作?

可以,目前就是在测试直接转到3.0

@bangbang93
Copy link
Member

另外有没有方法可以清理已导入的数据? 没有的话只能用官方的php工具清理完再使用本工具重新导入。

清理的功能我还没写,之后会考虑写

@LiweiDong
Copy link
Author

killed

dzq重新安装了。
转换帖子被killed 又试了了两次也是如此。

@bangbang93
Copy link
Member

你服务器有多少内存?

@LiweiDong
Copy link
Author

我在docker里跑的 没有做内存限制。 宿主机64G内存也没有跑满。

一小时前转换进度跑了很多 也没有出现这种情况。

[转换主题信息] 277418/357474 [==============================================================------------------] 3560/rps 77% 22.5s

@bangbang93
Copy link
Member

这个估计要看一下你的/var/log/message才能知道killed的原因了

@LiweiDong
Copy link
Author

这个估计要看一下你的/var/log/message才能知道killed的原因了

log路径? /var/log/message 不存在

@bangbang93
Copy link
Member

/var/log/messages,少打了个s

@LiweiDong
Copy link
Author

/var/log/messages 也是没有。 我重启了下docker 清理了mysql日志 又跑起来了。

[转换主题信息] 277443/357474 还是转换到这条的时候 出现之前的错误了。
Cannot add or update a child row: a foreign key constraint fails (q_jaycn_com.dzq_posts, CONSTRAINT dzq_posts_user_id_foreign FOREIGN KEY (user_id) REFERENCES dzq_users (id) ON DELETE SET NULL)

有没有办法跳过这条?

@bangbang93
Copy link
Member

你是不是SKIP_ANONYMOUS给的是false?

@LiweiDong
Copy link
Author

对 默认参数没改

@bangbang93
Copy link
Member

那给个true试试……官方转换工具是跳过匿名贴的,可能这功能还不是很完善

@LiweiDong
Copy link
Author

改成true还是一样的问题。

false的时候 也一直提示“跳过匿名贴2” 感觉我所有的帖子都被跳过了 ,然而现在thread表里只有101条数据。。

跳过匿名贴2:113874
跳过匿名贴2:114301
跳过匿名贴2:116686
跳过匿名贴2:159034
跳过匿名贴2:159736
跳过匿名贴2:160617
跳过匿名贴2:162316
跳过匿名贴2:163210
跳过匿名贴2:165857
跳过匿名贴2:169112
跳过匿名贴2:169837
跳过匿名贴2:171764
跳过匿名贴2:172636
跳过匿名贴2:175427
跳过匿名贴2:177293
跳过匿名贴2:177638
跳过匿名贴2:179009
跳过匿名贴2:179722
跳过匿名贴2:205125
跳过匿名贴2:208673
跳过匿名贴2:208977
跳过匿名贴2:210192
跳过匿名贴2:210724
跳过匿名贴2:212465
跳过匿名贴2:213103
跳过匿名贴2:213665
跳过匿名贴2:215107
跳过匿名贴2:215897
跳过匿名贴2:217616
跳过匿名贴2:217735
跳过匿名贴2:218052
跳过匿名贴2:218476
.....
用户不存在:920436
[转换主题信息] 277439/357474

@bangbang93
Copy link
Member

跳过匿名贴2是在dzx的forum_post表里找不见first=1的帖子,或者first=1的帖子没有authorid

@LiweiDong
Copy link
Author

没办法了,今天先这样吧 可能是之前的老数据丢失太严重了

@LiweiDong
Copy link
Author

刚试了下新的v1.1.3版本。
转换thread时 提示的了大量的跳过记录。
拿其中一条提示举例 ”用户不存在:919959“ ,是指用户uid=919959不存在 还是tid=919959不存在?

我在dzx的pre_ucenter_members用户表里查到有id=919959的记录。
pre_forum_thread表里也找到tid=919959的记录。

@bangbang93
Copy link
Member

bangbang93 commented Nov 10, 2021

刚试了下新的v1.1.3版本。 转换thread时 提示的了大量的跳过记录。 拿其中一条提示举例 ”用户不存在:919959“ ,是指用户uid=919959不存在 还是tid=919959不存在?

我在dzx的pre_ucenter_members用户表里查到有id=919959的记录。 pre_forum_thread表里也找到tid=919959的记录。

是tid
要先导入用户,因为dzq使用了外键约束,所以要先导入用户,才能导入后续的记录,即dzq的users表要有tid=919959的这条帖子的authorid

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants