Marko Korhonen
dfcf791d6f
All checks were successful
Build and deploy site / Build and deploy site (push) Successful in 53s
49 lines
2.2 KiB
Text
49 lines
2.2 KiB
Text
---
|
|
title: Migrate Misskey root account
|
|
description: A solution for an issue I found when migrating from Misskey to Firefish
|
|
date: 2023-12-10T11:41:08+02:00
|
|
featured_image: hero.jpg
|
|
menu:
|
|
sidebar:
|
|
name: Migrate Misskey root account
|
|
identifier: migrate_misskey_root_account
|
|
weight: 20
|
|
---
|
|
= Migrate Misskey root account
|
|
|
|
I recently migrated my single user Fediverse server from https://misskey-hub.net[Misskey] to https://joinfirefish.org[Firefish].
|
|
During the migration I encountered an issue that I did not find documented elsewhere.
|
|
I thought I'd write down the solution I found, in case anyone would benefit from it and save some time in the future.
|
|
|
|
I decided to migrate to a new domain at the same time, so the easiest way was just to create a new server and migrate my account and not fuss about migrating the Misskey instance itself.
|
|
|
|
Being a single user instance, my account was also the "root" account of Misskey.
|
|
Misskey does not allow migrating the root account, if trying to do so, you will just get an error along the lines of "root cannot migrate".
|
|
|
|
== Solution
|
|
|
|
I took to the database to find out what I can do bypassing the UI, and lo and behold, I found an `isRoot` column in the `user` table.
|
|
I didn't want to end up without a root account on my old instance however, so I went to the Misskey control panel and created a new account, simply called "root".
|
|
|
|
Misskey seems to save all of it's known users to the `user` table, not only the actual local accounts.
|
|
To find the local accounts only, you can use the following query
|
|
|
|
[source,sql]
|
|
----
|
|
include::code/query_users.sql[]
|
|
----
|
|
|
|
Now you can simply make your new root account's `isRoot` column `true` and your actual user account `false`.
|
|
After that, the migration will work.
|
|
|
|
[source,sql]
|
|
----
|
|
include::code/update_users.sql[]
|
|
----
|
|
|
|
You should probably check that you only modified 2 rows before committing the transaction.
|
|
|
|
I would imagine that this solution should work for the numerous Misskey forks around, but I have not tested it so your results may vary.
|
|
|
|
If you found this post useful, make sure to share, tweet, toot, bleep and bloop this on your social media service of choice.
|
|
If you have any issues with this process, you can leave a comment below and I will try to help you out.
|