korhonen.cc/content/posts/migrate_misskey_root_account/index.fi.adoc
Marko Korhonen 6e6de56be4
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Tweak asciidoc config
2024-02-03 19:44:21 +02:00

50 lines
2.3 KiB
Plaintext

---
title: Misskeyn root-tilin migraatio
description: A solution for an issue I found when migrating from Misskey to Firefish
description: Ratkaisu ongelmaan johon törmäsin Misskey Firefish migraatiossa
date: 2023-12-10T11:41:08+02:00
featured_image: hero.jpg
menu:
sidebar:
name: Misskeyn root-tilin migraatio
identifier: migrate_misskey_root_account
---
= Misskeyn root-tilin migraatio
Vaihdoin äskettäin yhden käyttäjän Fediverse-palvelimeni https://misskey-hub.net[Misskey]stä https://joinfirefish.org[Firefish]iin.
Kohtasin ongelman, jota en löytänyt dokumentoituna muualla.
Päätin jakaa löytämäni ratkaisun, jos joku muu hyötyisi siitä ja säästäisi aikaansa tulevaisuudessa.
Päätin samalla siirtyä uuteen verkkotunnukseen, joten helpoin tapa oli luoda uusi palvelin ja migratoida käyttäjätili sen sijaan, että vaivautuisin migratoimaan koko Misskey-instanssia.
Koska kyseessä oli yhden käyttäjän instanssi, tili oli myös Misskeyn "root" tili.
Misskey ei salli root-tilin siirtämistä, ja jos yrität, saat virheen "root cannot migrate" tai jotain sinne päin.
== Ratkaisu
Menin tietokantaan selvittääkseni, mitä voisin tehdä ohittamalla käyttöliittymän, ja kas, löysin `isRoot`-sarakkeen `user`-taulusta.
En kuitenkaan halunnut jäädä ilman root-tiliä vanhassa instanssissani, joten menin Misskeyn hallintapaneeliin ja loin uuden tilin, yksinkertaisesti nimeltään "root".
Misskey näyttää tallentavan kaikki tunnetut käyttäjät `user`-tauluun, ei vain varsinaisia paikallia käyttäjätilejä.
Paikallisten tilien löytämiseksi voit käyttää seuraavaa kyselyä
[source,sql]
----
include::code/query_users.sql[]
----
Nyt voit yksinkertaisesti asettaa uuden root-tilin `isRoot`-sarakkeen arvoksi `true` ja oman käyttäjätilin arvoksi `false`.
Sen jälkeen migraation pitäisi toimia.
[source,sql]
----
include::code/update_users.sql[]
----
Kannattaa varmistaa, että muutit vain 2 riviä ennen kuin kommitoit transaktion.
Olettaisin, että tämä ratkaisu toimii myös Misskey forkeissa, mutta en ole testannut.
Jos tästä postauksesta oli sinulle hyötyä, muista jakaa, twiitata, tuutata ja piippailla se haluamassasi sosiaalisen median palvelussa.
Jos sinulla on ongelmia tässä prosessissa, voit myös jättää kommentin alapuolelle niin voin yrittää auttaa.