Fix bug
This commit is contained in:
		
							parent
							
								
									792b657a82
								
							
						
					
					
						commit
						d0d55f2b5e
					
				|  | @ -1,14 +1,39 @@ | |||
| // for Node.js interpret
 | ||||
| 
 | ||||
| const { default: User } = require('../../built/api/models/user'); | ||||
| const { generate } = require('../../built/crypto_key'); | ||||
| const { default: zip } = require('@prezzemolo/zip') | ||||
| 
 | ||||
| const updates = []; | ||||
| 
 | ||||
| User.find({}).each(function(user) { | ||||
| 	updates.push(User.update({ _id: user._id }, { | ||||
| const migrate = async (user) => { | ||||
| 	const result = await User.update(user._id, { | ||||
| 		$set: { | ||||
| 			'account.keypair': generate(), | ||||
| 			'account.keypair': generate() | ||||
| 		} | ||||
| 	})); | ||||
| }).then(function () { | ||||
| 	Promise.all(updates) | ||||
| }).then(process.exit); | ||||
| 	}); | ||||
| 	return result.ok === 1; | ||||
| } | ||||
| 
 | ||||
| async function main() { | ||||
| 	const count = await User.count({}); | ||||
| 
 | ||||
| 	const dop = Number.parseInt(process.argv[2]) || 5 | ||||
| 	const idop = ((count - (count % dop)) / dop) + 1 | ||||
| 
 | ||||
| 	return zip( | ||||
| 		1, | ||||
| 		async (time) => { | ||||
| 			console.log(`${time} / ${idop}`) | ||||
| 			const doc = await User.find({}, { | ||||
| 				limit: dop, skip: time * dop | ||||
| 			}) | ||||
| 			return Promise.all(doc.map(migrate)) | ||||
| 		}, | ||||
| 		idop | ||||
| 	).then(a => { | ||||
| 		const rv = [] | ||||
| 		a.forEach(e => rv.push(...e)) | ||||
| 		return rv | ||||
| 	}) | ||||
| } | ||||
| 
 | ||||
| main().then(console.dir).catch(console.error) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue