Closed7
IceshrimpをMisskeyに (無理やり) 戻す

IceshrimpからMisskeyに戻したかったのでメモ
IceshrimpにあってMisskeyにない機能
ここではデータベースのテーブルに関わるものだけ列挙してみる (v13で削除されたものは列挙しない)
- 投稿の編集
- LibreTranslate
- MOTD (多分)
- おすすめタイムライン (多分)

このあたりを参考にするのが良さそう

移行計画としては
- Iceshrimp固有の部分を削除する
- Misskeyのv13の古いのをいれる
- そこから一気に最新のMisskeyにアップデートする
- もし3.が失敗したら段階的なアップデートを試みる

-
-
- は不要だった。普通にMisskeyの最新版まで上げれた。
-

SharkeyがFirefish相当まで戻す方法を書いてたのでそれを参考にFirefishまでスキーマを戻す (Migration IceshrimpRepo1689965609061 has been reverted successfully.
が出ればOK?)
注意点
- まず
pg_trgm
を僕の環境ではDROPできなくて途中でマイグレーションに失敗した - なので
DROP EXTENSION pg_trgm CASCADE;
をpostgresユーザーで実行して無理やり削除した

トラブルシューティング
ログインできない
IceshrimpはMisskeyと異なり、argon2をパスワードのハッシュに使用しています。そのため、単純なデータベースの変更だけではアカウントにアクセスできなくなります (一敗)
メールアドレスとSMTPを設定している場合: パスワードをリセットしてください。
メールアドレスもSMTPも設定していない場合: これを参考にサインイン部分の動作を書き換えて、argon2が使えるようにして、どうにかしてパスワードをリセット (変更は不可)。終わった後は元のMisskeyに戻せばOK。
テーブルを書き換えて無理やりbcryptに変換した人: 別のアカウントがあるなら2番目の手順でアカウントにアクセスした後、rootを移してパスワードを初期化。ないなら諦めろ。
APP_IMPORTで読み込みに失敗する
/flash
にアクセスしてすべてのデータを削除すると治ります。

rootの変更方法
以下のsqlを実行して、Misskeyを再起動する。
BEGIN;
UPDATE meta
SET "rootUserId" = '(ユーザーのID)'
WHERE id = 'x';
COMMIT;
このスクラップは8時間前にクローズされました