wip migration
This commit is contained in:
		
							parent
							
								
									735687be21
								
							
						
					
					
						commit
						56860a6bef
					
				
					 2 changed files with 48 additions and 0 deletions
				
			
		
							
								
								
									
										43
									
								
								src/migrate.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								src/migrate.ts
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,43 @@
 | 
			
		|||
import mongo from 'monk';
 | 
			
		||||
import config from './config';
 | 
			
		||||
import { initDb } from './db/postgre';
 | 
			
		||||
import { User } from './models/entities/user';
 | 
			
		||||
import { getRepository } from 'typeorm';
 | 
			
		||||
import generateUserToken from './server/api/common/generate-native-user-token';
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
const uri = `mongodb://${u && p ? `${u}:${p}@` : ''}${(config as any).mongodb.host}:${(config as any).mongodb.port}/${(config as any).mongodb.db}`;
 | 
			
		||||
 | 
			
		||||
const db = mongo(uri);
 | 
			
		||||
 | 
			
		||||
const _User = db.get<any>('users');
 | 
			
		||||
 | 
			
		||||
async function main() {
 | 
			
		||||
	await initDb();
 | 
			
		||||
	const Users = getRepository(User);
 | 
			
		||||
 | 
			
		||||
	const allUsersCount = await _User.count();
 | 
			
		||||
 | 
			
		||||
	for (let i = 0; i < allUsersCount; i++) {
 | 
			
		||||
		const user = await _User.findOne({}, {
 | 
			
		||||
			skip: i
 | 
			
		||||
		});
 | 
			
		||||
		await Users.save({
 | 
			
		||||
			id: user._id.toHexString(),
 | 
			
		||||
			createdAt: user.createdAt || new Date(),
 | 
			
		||||
			username: user.username,
 | 
			
		||||
			usernameLower: user.username.toLowerCase(),
 | 
			
		||||
			host: user.host,
 | 
			
		||||
			token: generateUserToken(),
 | 
			
		||||
			password: user.password,
 | 
			
		||||
			isAdmin: user.isAdmin,
 | 
			
		||||
			autoAcceptFollowed: true,
 | 
			
		||||
			autoWatch: false
 | 
			
		||||
		});
 | 
			
		||||
		console.log(`USER (${i + 1}/${allUsersCount}) ${user.id} DONE`);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main();
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue