From bbfde2e461faf7653cc59baa8556124dfcfc68e3 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 20 Apr 2019 01:32:43 +0900 Subject: [PATCH] Update migrate.ts --- src/migrate.ts | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/migrate.ts b/src/migrate.ts index 18217f408..53b681fbe 100644 --- a/src/migrate.ts +++ b/src/migrate.ts @@ -26,6 +26,7 @@ import { extractPublic } from './crypto_key'; import { Emoji } from './models/entities/emoji'; import { toPuny as _toPuny } from './misc/convert-host'; import { UserProfile } from './models/entities/user-profile'; +import { MessagingMessage } from './models/entities/messaging-message'; function toPuny(x: string | null): string | null { if (x == null) return null; @@ -67,6 +68,7 @@ const _PollVote = db.get('pollVotes'); const _Favorite = db.get('favorites'); const _NoteReaction = db.get('noteReactions'); const _Emoji = db.get('emoji'); +const _MessagingMessage = db.get('messagingMessages'); const getDriveFileBucket = async (): Promise => { const db = await nativeDbConn(); const bucket = new mongo.GridFSBucket(db, { @@ -90,6 +92,7 @@ async function main() { const UserPublickeys = getRepository(UserPublickey); const UserKeypairs = getRepository(UserKeypair); const Emojis = getRepository(Emoji); + const MessagingMessages = getRepository(MessagingMessage); async function migrateUser(user: any) { await Users.save({ @@ -330,6 +333,18 @@ async function main() { }); } + async function migrateMessagingMessage(message: any) { + await MessagingMessages.save({ + id: message._id.toHexString(), + createdAt: message.createdAt, + text: message.text, + userId: message.userId.toHexString(), + recipientId: message.recipientId.toHexString(), + fileId: message.fileId ? message.fileId.toHexString() : null, + isRead: message.isRead || false, + }); + } + let allUsersCount = await _User.count({ deletedAt: { $exists: false } }); @@ -496,6 +511,20 @@ async function main() { } } + const allMessagingMessagesCount = await _MessagingMessage.count(); + for (let i = 0; i < allMessagingMessagesCount; i++) { + const message = await _MessagingMessage.findOne({}, { + skip: i + }); + try { + await migrateMessagingMessage(message); + console.log(`EMOJI (${i + 1}/${allMessagingMessagesCount}) ${message._id} ${chalk.green('DONE')}`); + } catch (e) { + console.log(`EMOJI (${i + 1}/${allMessagingMessagesCount}) ${message._id} ${chalk.red('ERR')}`); + console.error(e); + } + } + console.log('DONE :)'); }