# How Justin Gage migrated from Spectrum to Discourse

**URL:** https://meta.discourse.org/t/how-justin-gage-migrated-from-spectrum-to-discourse/148393
**Category:** Praise
**Created:** [17 באפריל,‏ 2020,‏ 9:13pm UTC](https://meta.discourse.org/t/how-justin-gage-migrated-from-spectrum-to-discourse/148393 "2020-04-17T21:13:06Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![yanokwa](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yanokwa/32/105083_2.png) [@yanokwa](https://meta.discourse.org/u/yanokwa)
#### Post date: [17 באפריל,‏ 2020,‏ 9:13pm UTC](https://meta.discourse.org/t/how-justin-gage-migrated-from-spectrum-to-discourse/148393/1 "2020-04-17T21:13:06Z")

</div>

Not sure how relevant this will be for folks, but I found it an interesting read from Justin Gage.

> **[Retool Blog | How we migrated our community from Spectrum to Discourse](https://retool.com/blog/how-we-migrated-our-community-from-spectrum-to-discourse)**
>
> The details behind how we migrated our community from Spectrum to Discourse, and the scripts we used to do it.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [17 באפריל,‏ 2020,‏ 9:54pm UTC](https://meta.discourse.org/t/how-justin-gage-migrated-from-spectrum-to-discourse/148393/2 "2020-04-17T21:54:41Z")

</div>

> [@yanokwa](#):
>
> I found it an interesting read from Justin Gage

It is an interesting read. As someone who does a score of uploads a year, I have to say that it’s a really bad idea to try to import data with the API. If they had used an existing import script and modified it they would have gotten a much better result.

> [@](#):
>
> We weren’t able to get all Spectrum posts into Discourse perfectly – missing usernames, screenshots, and character limits made things a bit too complex.

Those things are all pretty easy or non-issues with an install script.

> [@](#):
>
> Working with the Discourse API was a mixed bag. Rate limiting hurt our ability to migrate smoothly and created significant hurdles.

Another reason that trying to import data _en masse_ with the API is a bad idea.

---

<div class="post-metadata">

### Author: ![yanokwa](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yanokwa/32/105083_2.png) [@yanokwa](https://meta.discourse.org/u/yanokwa)
#### Post date: [17 באפריל,‏ 2020,‏ 10:17pm UTC](https://meta.discourse.org/t/how-justin-gage-migrated-from-spectrum-to-discourse/148393/3 "2020-04-17T22:17:28Z")

</div>

Most people maybe won’t know these best practices? I wonder if we could do a better job documenting what the API is good for and what’s not.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [17 באפריל,‏ 2020,‏ 10:36pm UTC](https://meta.discourse.org/t/how-justin-gage-migrated-from-spectrum-to-discourse/148393/4 "2020-04-17T22:36:55Z")

</div>

There are #howto documents to import from most major forums. They aren’t hard to find. I’ve helped a bunch of people debug and modify them here. I remember several topics telling people not to use the API to do an import.

There is a long list of things that the API isn’t good for. I think it might be hard to think of all of them.
