Fix user mapping for migration

This commit is contained in:
Jonathan Cremin 2016-08-07 17:49:27 +01:00
parent 889dc02945
commit c7c8b3621e
5 changed files with 10 additions and 6 deletions

View file

@ -50,7 +50,7 @@ co(function *sync() {
continue; continue;
} }
const oldId = user._id.toString(); const mongoId = user._id.toString();
const newUser = yield models.user.create({ const newUser = yield models.user.create({
email: user.email, email: user.email,
@ -62,7 +62,7 @@ co(function *sync() {
deletedAt: user.status === 'deleted' ? new Date().getTime() : null, deletedAt: user.status === 'deleted' ? new Date().getTime() : null,
createdAt: user.createdAt, createdAt: user.createdAt,
updatedAt: user.createdAt, updatedAt: user.createdAt,
oldId, mongoId,
}); });
yield newUser.save({ silent: true }); yield newUser.save({ silent: true });
} }

View file

@ -18,7 +18,7 @@ co(function *sync() {
const userIds = {}; const userIds = {};
debug('remap'); debug('remap');
for (const user of users) { for (const user of users) {
userIds[user._id] = user.id; userIds[user.mongoId] = user.id;
} }
debug('remap done'); debug('remap done');
let files; let files;
@ -48,6 +48,8 @@ co(function *sync() {
const processed = file.status !== 'uploading'; const processed = file.status !== 'uploading';
const accessedAt = file.last_accessed ? new Date(file.last_accessed * 1000) : null; const accessedAt = file.last_accessed ? new Date(file.last_accessed * 1000) : null;
const mongoId = file._id.toString();
yield models.file.upsert({ yield models.file.upsert({
id: file._id.toString(), id: file._id.toString(),
name: file.file_name, name: file.file_name,
@ -68,6 +70,7 @@ co(function *sync() {
md5: file.md5, md5: file.md5,
malwarePositives: file.virustotal && file.virustotal.positives > 0 ? malwarePositives: file.virustotal && file.virustotal.positives > 0 ?
file.virustotal.positives : null, file.virustotal.positives : null,
mongoId,
}, { /* logging: false */ }); }, { /* logging: false */ });
} }

View file

@ -50,7 +50,7 @@ co(function *sync() {
continue; continue;
} }
const oldId = user._id.toString(); const mongoId = user._id.toString();
const newUser = yield models.user.create({ const newUser = yield models.user.create({
email: user.email, email: user.email,
@ -62,7 +62,7 @@ co(function *sync() {
deletedAt: user.status === 'deleted' ? new Date().getTime() : null, deletedAt: user.status === 'deleted' ? new Date().getTime() : null,
createdAt: user.createdAt, createdAt: user.createdAt,
updatedAt: user.createdAt, updatedAt: user.createdAt,
oldId, mongoId,
}, { }, {
include: [models.activation], include: [models.activation],
}); });

View file

@ -21,6 +21,7 @@ export default function (sequelize, DataTypes) {
legacyId: DataTypes.STRING(12), // eslint-disable-line new-cap legacyId: DataTypes.STRING(12), // eslint-disable-line new-cap
md5: DataTypes.STRING(32), // eslint-disable-line new-cap md5: DataTypes.STRING(32), // eslint-disable-line new-cap
malwarePositives: DataTypes.INTEGER, malwarePositives: DataTypes.INTEGER,
mongoId: DataTypes.STRING,
}, { }, {
paranoid: true, paranoid: true,
indexes: [ indexes: [

View file

@ -8,7 +8,7 @@ export default function (sequelize, DataTypes) {
activated: DataTypes.BOOLEAN, activated: DataTypes.BOOLEAN,
banned: DataTypes.BOOLEAN, banned: DataTypes.BOOLEAN,
deletedAt: DataTypes.DATE, deletedAt: DataTypes.DATE,
oldId: DataTypes.STRING, mongoId: DataTypes.STRING,
}, { }, {
paranoid: true, paranoid: true,
indexes: [ indexes: [