lila/bin/mongodb/relay-tour-migration.js

39 lines
936 B
JavaScript

const newId = () => {
const idChars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
const idLength = 8;
let id = '';
for (let i = idLength; i > 0; --i) id += idChars[Math.floor(Math.random() * idChars.length)];
return id;
};
db.relay.find().forEach(relay => {
const tourId = newId();
db.relay_tour.insert({
...{
_id: tourId,
name: relay.name,
description: relay.description,
ownerId: relay.ownerId,
createdAt: relay.createdAt,
official: relay.official,
active: false,
syncedAt: relay.startedAt,
},
...(relay.markup ? { markup: relay.markup } : {}),
...(relay.credit ? { credit: relay.credit } : {}),
});
db.relay.update(
{ _id: relay._id },
{
$set: { tourId },
$unset: {
ownerId: true,
official: true,
description: true,
markup: true,
credit: true,
},
}
);
});