idempotent migration script

puzzle-ui
Thibault Duplessis 2016-12-08 00:21:32 +01:00
parent 40066caf79
commit f942359b34
1 changed files with 5 additions and 6 deletions

View File

@ -1,23 +1,22 @@
var puzzles = db.puzzle;
function fullMoveNumber(p) {
return Math.floor(1 + p.history.split(' ').length / 2);
return Math.floor(1 + (p.history.split(' ').length - 1) / 2);
}
function changeFenMoveNumber(fen) {
function changeFenMoveNumber(fen, n) {
parts = fen.split(' ');
if (parts[1] === 'b') return fen;
parts[5] = parseInt(parts[5]) + 1;
parts[parts.length-1] = n;
return parts.join(' ');
}
puzzles.find({
// _id: 10107
"_id": {
"$lt": 60121
}
}).forEach(function(p) {
var newFen = changeFenMoveNumber(p.fen);
var newMoveNumber = fullMoveNumber(p);
var newFen = changeFenMoveNumber(p.fen, newMoveNumber);
puzzles.update({
_id: p._id
}, {