idempotent migration script
This commit is contained in:
parent
40066caf79
commit
f942359b34
|
@ -1,23 +1,22 @@
|
||||||
var puzzles = db.puzzle;
|
var puzzles = db.puzzle;
|
||||||
|
|
||||||
function fullMoveNumber(p) {
|
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(' ');
|
parts = fen.split(' ');
|
||||||
if (parts[1] === 'b') return fen;
|
parts[parts.length-1] = n;
|
||||||
parts[5] = parseInt(parts[5]) + 1;
|
|
||||||
return parts.join(' ');
|
return parts.join(' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
puzzles.find({
|
puzzles.find({
|
||||||
// _id: 10107
|
|
||||||
"_id": {
|
"_id": {
|
||||||
"$lt": 60121
|
"$lt": 60121
|
||||||
}
|
}
|
||||||
}).forEach(function(p) {
|
}).forEach(function(p) {
|
||||||
var newFen = changeFenMoveNumber(p.fen);
|
var newMoveNumber = fullMoveNumber(p);
|
||||||
|
var newFen = changeFenMoveNumber(p.fen, newMoveNumber);
|
||||||
puzzles.update({
|
puzzles.update({
|
||||||
_id: p._id
|
_id: p._id
|
||||||
}, {
|
}, {
|
||||||
|
|
Loading…
Reference in a new issue