korhonen.cc/content/posts/migrate_misskey_root_account/index.adoc

61 lines
2.1 KiB
Plaintext
Raw Normal View History

2023-12-10 12:36:32 +02:00
---
title: Migrate Misskey root account
date: 2023-12-10T11:41:08+02:00
2023-12-10 13:35:43 +02:00
featured_image: hero.jpg
menu:
sidebar:
name: Migrate Misskey root account
identifier: migrate_misskey_root_account
2023-12-10 12:36:32 +02:00
---
:toc:
= Migrate Misskey root account
I recently migrated my single user Fediverse server from
https://misskey-hub.net[Misskey] to https://joinfirefish.org[Firefish] and
I encountered an issue that I did not find documented elsewhere, so
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]
----
include::code/query_users[]
----
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]
----
include::code/update_users[]
----
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,
you can also use the comments below if you have any issues with this
process and I will try to help you out.