# 将 XenForo 论坛迁移到 Discourse

**URL:** https://meta.discourse.org/t/migrate-a-xenforo-forum-to-discourse/45232
**Category:** Sysadmins
**Tags:** how-to
**Created:** [2016年六月4日 01:38 UTC](https://meta.discourse.org/t/migrate-a-xenforo-forum-to-discourse/45232 "2016-06-04T01:38:22Z")
**Posts on this page:** 1
**Showing post:** 125

<div class="post-metadata">

### Author: ![selase](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/selase/32/270909_2.png) [@selase](https://meta.discourse.org/u/selase)
#### Post date: [2025年二月17日 16:22 UTC](https://meta.discourse.org/t/migrate-a-xenforo-forum-to-discourse/45232/125 "2025-02-17T16:22:19Z")

</div>

> [@SubStrider](#):
>
> 在迁移脚本中，我看到重复的电子邮件未被导入。确定重复项的不同方法是什么？我注意到 [xyz@gmail.com](mailto:xyz@gmail.com) 与 [xyz+1@gmail.com](mailto:xyz+1@gmail.com) 和 [xy.z@gmail.com](mailto:xy.z@gmail.com) 被视为相同。
> 
> 还有其他模式吗？

差不多就是这样。唯一性检查是在给定电子邮件地址的转换为小写和规范化版本上执行的。

> <https://github.com/discourse/discourse/blob/402ec6bf5c857ddc07be9cb9673734cc7152b7be/app/models/user_email.rb#L77-L89>

我们通过删除所有点并忽略用户名中 `+` 之后的所有内容来进行规范化。

> <https://github.com/discourse/discourse/blob/402ec6bf5c857ddc07be9cb9673734cc7152b7be/app/models/user_email.rb#L43-L50>

---

_[View the full topic](https://meta.discourse.org/t/migrate-a-xenforo-forum-to-discourse/45232)._
