is this offer still available ?
Getting to the point where I might have to pay IPB 
Want to convert from http://mandrivausers.org/
is this offer still available ?
Getting to the point where I might have to pay IPB 
Want to convert from http://mandrivausers.org/
Hey, i will probably need to do a migration from IP Board v3.4.5 to Discourse at my job, any news about the import script? Would love to test it.
I wont promise that it will work for you, but I will try to clean it up and submit a PR in the next few days. If you have a budget, my contact info is in my profile.
I also need to do a migration from a bitrix based forum, so i’ll have to write a custom script anyway and figure out how all of this works, anything to save me some time would be extremely helpful. Thank you.
Here it is. The two sites that I imported with this code were wildly different. I hope that someone finds it useful.
这个功能的某个版本现在已包含在核心中,因此您可能不想使用上述链接中的内容。
您能告诉我ipboard 4版本的导入脚本在哪里吗?
我在仓库里只看到了ipboard和ipboard3的导入脚本。
您是否支持将ipboard4迁移到Discourse?
我不知道。我猜 ipboard.rb 脚本是值得尝试的;我不知道我为哪个版本的 ipboard 写的。你只能用你的数据试试看是否有效。正如我(多年前)之前所说,当我最初编写 ipboard 脚本时,我尝试过的两个站点非常非常不同。
如果您对付费支持感兴趣,可以访问 Redirecting…
感谢您的回复。
我尝试使用我的数据,但它无法完成,因为它中断了。
它试图查找不存在于 4 版本中的表“profile_portal”。
我猜这个脚本是为 ipb3 或更低版本编写的。
我会考虑付费支持。
你好 @pfaffman ,请告诉我你是否可以支持。我想从 v2.3.6 导入,在将主题链接到 forum_id 时遇到问题,因为该版本没有 forum_id。你能告诉我哪个表保存了主题和论坛之间的链接值吗?
这是我现在导入主题的代码,它可以导入,但所有主题都去了“未分类”:
def import_topics
puts "\n📌 Importing Topics..."
total_count = mysql_query("SELECT count(*) count FROM iBB_posts WHERE new_topic = 1;").first['count']
batches(BATCH_SIZE) do |offset|
discussions = mysql_query(<<-SQL
SELECT pid as tid, topic_id, post_title as title, post as raw,
FROM_UNIXTIME(post_date) as created_at, author_id
FROM iBB_posts
WHERE new_topic = 1
ORDER BY post_date ASC
LIMIT #{BATCH_SIZE} OFFSET #{offset};
SQL
).to_a
break if discussions.empty?
create_posts(discussions, total: total_count, offset: offset) do |discussion|
{
id: "topic-#{discussion['tid']}",
user_id: user_id_from_imported_user_id(discussion['author_id']) || Discourse::SYSTEM_USER_ID,
title: format_title(discussion['title']), # Ensure titles are properly formatted
raw: discussion['raw'],
created_at: discussion['created_at'],
post_number: 1
}
end
end
end
def format_title(title)
return "Untitled Topic" if title.nil? || title.strip.empty?
CGI.unescapeHTML(title)
end
def import_replies
puts "\n📌 Importing Replies..."
total_count = mysql_query("SELECT count(*) FROM iBB_posts WHERE new_topic = 0;").first['count']
batches(BATCH_SIZE) do |offset|
comments = mysql_query(<<-SQL
SELECT pid, topic_id, post as raw, FROM_UNIXTIME(post_date) as created_at, author_id
FROM iBB_posts
WHERE new_topic = 0
ORDER BY post_date ASC
LIMIT #{BATCH_SIZE} OFFSET #{offset};
SQL
).to_a
break if comments.empty?
create_posts(comments, total: total_count, offset: offset) do |comment|
topic_id = topic_lookup_from_imported_post_id("topic-#{comment['topic_id']}")
next unless topic_id
{
id: "post-#{comment['pid']}",
topic_id: topic_id,
user_id: user_id_from_imported_user_id(comment['author_id']) || Discourse::SYSTEM_USER_ID,
raw: comment['raw'],
created_at: comment['created_at']
}
end
end
end
您没有将类别传递给主题创建者,因此您需要修复它。
但我找不到任何 forum_id 在 ipb sql 数据库中可以使用
那么你不太可能获得免费的帮助来修复它。我认为还有另外两个 IPB 导入脚本;它们可能会提供一些线索。你只需要在数据库中查找一下,看看它们把它放在哪里。
如果你有预算,可以看看 Discourse Migration - Literate Computing 。如果你给我一个预算,我可以尝试匹配它。
我很感谢你的回应,但我特别想获得关于这个问题的技术指导,而不是服务报价,再次感谢你的快速回应。
抱歉,在无法查看您数据库的情况下,我无法了解其结构。
我所能告诉您的,也是我告诉您的,就是请您在数据库中查找分类信息所在的位置。主题记录中一定存在某个您遗漏的字段。有时它会链接到另一个包含分类 ID 的表,这时您需要执行连接操作。它可能只是有一个您意想不到的名称。