mirror of
https://example.com
synced 2024-11-23 00:36:38 +09:00
docs: 📝 migration from mk
This commit is contained in:
parent
e68d8b8a6d
commit
184ea6aa82
4 changed files with 98 additions and 7 deletions
|
@ -66,7 +66,7 @@ If you have access to a server that supports one of the sources below, I recomme
|
|||
|
||||
### 🐋 Docker
|
||||
|
||||
[How to run Calckey with Docker](./docker-README.md).
|
||||
[How to run Calckey with Docker](./docs/docker.md).
|
||||
|
||||
## 🧑💻 Dependencies
|
||||
|
||||
|
@ -136,12 +136,7 @@ psql postgres -c "create database calckey with encoding = 'UTF8';"
|
|||
|
||||
## 🚚 Migrating from Misskey to Calckey
|
||||
|
||||
> ⚠️ Because of their changes, migrating from Foundkey is not supported.
|
||||
|
||||
```sh
|
||||
cp ../misskey/.config/default.yml ./.config/default.yml # replace `../misskey/` with misskey path, add `docker.env` if you use Docker
|
||||
cp -r ../misskey/files .
|
||||
```
|
||||
For migrating from Misskey v13, Misskey v12, and Foundkey, read [this document](./docs/migrate.md).
|
||||
|
||||
## 🍀 NGINX
|
||||
|
||||
|
|
51
docs/migrate.md
Normal file
51
docs/migrate.md
Normal file
|
@ -0,0 +1,51 @@
|
|||
# 🚚 Migrating from Misskey to Calckey
|
||||
|
||||
## Misskey v13 and above
|
||||
|
||||
```sh
|
||||
git apply docs/mkv13.patch
|
||||
|
||||
cd packages/backend
|
||||
|
||||
LINE_NUM="$(npx typeorm migration:show -d ormconfig.js | grep -n activeEmailValidation1657346559800 | cut -d ':' -f 1)"
|
||||
NUM_MIGRATIONS="$(npx typeorm migration:show -d ormconfig.js | tail -n+"$LINE_NUM" | grep '\[X\]' | nl)"
|
||||
|
||||
for i in $(seq 1 $NUM_MIGRAIONS); do
|
||||
npx typeorm migration:revert -d ormconfig.js
|
||||
done
|
||||
|
||||
git remote set-url origin https://codeberg.org/calckey/calckey.git
|
||||
git fetch
|
||||
git checkout main # or beta or develop
|
||||
git pull --ff
|
||||
# build using prefered method
|
||||
```
|
||||
|
||||
## Misskey v12.119 and before
|
||||
|
||||
```sh
|
||||
git remote set-url origin https://codeberg.org/calckey/calckey.git
|
||||
git fetch
|
||||
git checkout main # or beta or develop
|
||||
git pull --ff
|
||||
# build using prefered method
|
||||
```
|
||||
|
||||
## Foundkey
|
||||
|
||||
```sh
|
||||
cd packages/backend
|
||||
|
||||
LINE_NUM="$(npx typeorm migration:show -d ormconfig.js | grep -n uniformThemecolor1652859567549 | cut -d ':' -f 1)"
|
||||
NUM_MIGRATIONS="$(npx typeorm migration:show -d ormconfig.js | tail -n+"$LINE_NUM" | grep '\[X\]' | nl)"
|
||||
|
||||
for i in $(seq 1 $NUM_MIGRAIONS); do
|
||||
npx typeorm migration:revert -d ormconfig.js
|
||||
done
|
||||
|
||||
git remote set-url origin https://codeberg.org/calckey/calckey.git
|
||||
git fetch
|
||||
git checkout main # or beta or develop
|
||||
git pull --ff
|
||||
# build using prefered method
|
||||
```
|
45
docs/mkv13.patch
Normal file
45
docs/mkv13.patch
Normal file
|
@ -0,0 +1,45 @@
|
|||
diff --git a/packages/backend/migration/1672704017999-remove-lastCommunicatedAt.js b/packages/backend/migration/1672704017999-remove-lastCommunicatedAt.js
|
||||
index 38a676985..c4ae690e0 100644
|
||||
--- a/packages/backend/migration/1672704017999-remove-lastCommunicatedAt.js
|
||||
+++ b/packages/backend/migration/1672704017999-remove-lastCommunicatedAt.js
|
||||
@@ -6,6 +6,8 @@ export class removeLastCommunicatedAt1672704017999 {
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
- await queryRunner.query(`ALTER TABLE "instance" ADD "lastCommunicatedAt" TIMESTAMP WITH TIME ZONE NOT NULL`);
|
||||
+ await queryRunner.query(`ALTER TABLE "instance" ADD "lastCommunicatedAt" TIMESTAMP WITH TIME ZONE`);
|
||||
+ await queryRunner.query(`UPDATE "instance" SET "lastCommunicatedAt" = COALESCE("infoUpdatedAt", "caughtAt")`);
|
||||
+ await queryRunner.query(`ALTER TABLE "instance" ALTER COLUMN "lastCommunicatedAt" SET NOT NULL`);
|
||||
}
|
||||
}
|
||||
diff --git a/packages/backend/migration/1673336077243-PollChoiceLength.js b/packages/backend/migration/1673336077243-PollChoiceLength.js
|
||||
index 810c626e0..5809528cb 100644
|
||||
--- a/packages/backend/migration/1673336077243-PollChoiceLength.js
|
||||
+++ b/packages/backend/migration/1673336077243-PollChoiceLength.js
|
||||
@@ -6,6 +6,6 @@ export class PollChoiceLength1673336077243 {
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
- await queryRunner.query(`ALTER TABLE "poll" ALTER COLUMN "choices" TYPE character varying(128) array`);
|
||||
+ //await queryRunner.query(`ALTER TABLE "poll" ALTER COLUMN "choices" TYPE character varying(128) array`);
|
||||
}
|
||||
}
|
||||
diff --git a/packages/backend/migration/1674118260469-achievement.js b/packages/backend/migration/1674118260469-achievement.js
|
||||
index 131ab96f8..57a922f83 100644
|
||||
--- a/packages/backend/migration/1674118260469-achievement.js
|
||||
+++ b/packages/backend/migration/1674118260469-achievement.js
|
||||
@@ -18,12 +18,13 @@ export class achievement1674118260469 {
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`CREATE TYPE "public"."user_profile_mutingnotificationtypes_enum_old" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app', 'pollEnded')`);
|
||||
+ await queryRunner.query(`CREATE TYPE "public"."notification_type_enum_old" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'pollEnded', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`);
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "mutingNotificationTypes" DROP DEFAULT`);
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "mutingNotificationTypes" TYPE "public"."user_profile_mutingnotificationtypes_enum_old"[] USING "mutingNotificationTypes"::"text"::"public"."user_profile_mutingnotificationtypes_enum_old"[]`);
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "mutingNotificationTypes" SET DEFAULT '{}'`);
|
||||
await queryRunner.query(`DROP TYPE "public"."user_profile_mutingnotificationtypes_enum"`);
|
||||
await queryRunner.query(`ALTER TYPE "public"."user_profile_mutingnotificationtypes_enum_old" RENAME TO "user_profile_mutingnotificationtypes_enum"`);
|
||||
- await queryRunner.query(`CREATE TYPE "public"."notification_type_enum_old" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'pollEnded', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`);
|
||||
+ await queryRunner.query(`DELETE FROM "public"."notification" WHERE "type" = 'achievementEarned'`);
|
||||
await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "type" TYPE "public"."notification_type_enum_old" USING "type"::"text"::"public"."notification_type_enum_old"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."notification_type_enum"`);
|
||||
await queryRunner.query(`ALTER TYPE "public"."notification_type_enum_old" RENAME TO "notification_type_enum"`);
|
Loading…
Reference in a new issue