mirror of
https://iceshrimp.dev/iceshrimp/iceshrimp
synced 2024-12-01 08:18:05 +09:00
Update migrate.ts
This commit is contained in:
parent
2ea1eccd25
commit
91cb9827b9
@ -19,6 +19,7 @@ import { Following } from './models/entities/following';
|
||||
import { genId } from './misc/gen-id';
|
||||
import { Poll } from './models/entities/poll';
|
||||
import { PollVote } from './models/entities/poll-vote';
|
||||
import { NoteFavorite } from './models/entities/note-favorite';
|
||||
|
||||
const u = (config as any).mongodb.user ? encodeURIComponent((config as any).mongodb.user) : null;
|
||||
const p = (config as any).mongodb.pass ? encodeURIComponent((config as any).mongodb.pass) : null;
|
||||
@ -49,6 +50,7 @@ const _DriveFolder = db.get<any>('driveFolders');
|
||||
const _Note = db.get<any>('notes');
|
||||
const _Following = db.get<any>('following');
|
||||
const _PollVote = db.get<any>('pollVotes');
|
||||
const _Favorite = db.get<any>('favorites');
|
||||
const getDriveFileBucket = async (): Promise<mongo.GridFSBucket> => {
|
||||
const db = await nativeDbConn();
|
||||
const bucket = new mongo.GridFSBucket(db, {
|
||||
@ -66,6 +68,7 @@ async function main() {
|
||||
const Followings = getRepository(Following);
|
||||
const Polls = getRepository(Poll);
|
||||
const PollVotes = getRepository(PollVote);
|
||||
const NoteFavorites = getRepository(NoteFavorite);
|
||||
|
||||
async function migrateUser(user: any) {
|
||||
await Users.insert({
|
||||
@ -237,12 +240,21 @@ async function main() {
|
||||
await PollVotes.save({
|
||||
id: vote._id.toHexString(),
|
||||
createdAt: vote.createdAt,
|
||||
noteId: vote.note.id.toHexString(),
|
||||
userId: vote.user.id.toHexString(),
|
||||
noteId: vote.noteId.toHexString(),
|
||||
userId: vote.userId.toHexString(),
|
||||
choice: vote.choice
|
||||
});
|
||||
}
|
||||
|
||||
async function migrateNoteFavorite(favorite: any) {
|
||||
await NoteFavorites.save({
|
||||
id: favorite._id.toHexString(),
|
||||
createdAt: favorite.createdAt,
|
||||
noteId: favorite.noteId.toHexString(),
|
||||
userId: favorite.userId.toHexString(),
|
||||
});
|
||||
}
|
||||
|
||||
const allUsersCount = await _User.count();
|
||||
for (let i = 0; i < allUsersCount; i++) {
|
||||
const user = await _User.findOne({}, {
|
||||
@ -330,6 +342,20 @@ async function main() {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
|
||||
const allNoteFavoritesCount = await _Favorite.count();
|
||||
for (let i = 0; i < allNoteFavoritesCount; i++) {
|
||||
const favorite = await _Favorite.findOne({}, {
|
||||
skip: i
|
||||
});
|
||||
try {
|
||||
await migrateNoteFavorite(favorite);
|
||||
console.log(`FAVORITE (${i + 1}/${allNoteFavoritesCount}) ${favorite._id} ${chalk.green('DONE')}`);
|
||||
} catch (e) {
|
||||
console.log(`FAVORITE (${i + 1}/${allNoteFavoritesCount}) ${favorite._id} ${chalk.red('ERR')}`);
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
|
Loading…
Reference in New Issue
Block a user