|
|
|
|
@ -2,12 +2,12 @@ RocketChat.Migrations.add({ |
|
|
|
|
version: 15, |
|
|
|
|
up() { |
|
|
|
|
console.log('Starting file migration'); |
|
|
|
|
const oldFilesCollection = new Meteor.Collection('cfs.Files.filerecord'); |
|
|
|
|
const oldGridFSCollection = new Meteor.Collection('cfs_gridfs.files.files'); |
|
|
|
|
const oldChunkCollection = new Meteor.Collection('cfs_gridfs.files.chunks'); |
|
|
|
|
const oldFilesCollection = new Mongo.Collection('cfs.Files.filerecord'); |
|
|
|
|
const oldGridFSCollection = new Mongo.Collection('cfs_gridfs.files.files'); |
|
|
|
|
const oldChunkCollection = new Mongo.Collection('cfs_gridfs.files.chunks'); |
|
|
|
|
const newFilesCollection = RocketChat.models.Uploads; |
|
|
|
|
const newGridFSCollection = new Meteor.Collection('rocketchat_uploads.files'); |
|
|
|
|
const newChunkCollection = new Meteor.Collection('rocketchat_uploads.chunks'); |
|
|
|
|
const newGridFSCollection = new Mongo.Collection('rocketchat_uploads.files'); |
|
|
|
|
const newChunkCollection = new Mongo.Collection('rocketchat_uploads.chunks'); |
|
|
|
|
|
|
|
|
|
oldFilesCollection.find({ |
|
|
|
|
'copies.files.key': { |
|
|
|
|
@ -42,7 +42,7 @@ RocketChat.Migrations.add({ |
|
|
|
|
newFilesCollection.insert(record); |
|
|
|
|
|
|
|
|
|
const oldGridFsFile = oldGridFSCollection.findOne({ |
|
|
|
|
_id: new Meteor.Collection.ObjectID(cfsRecord.copies.files.key) |
|
|
|
|
_id: new Mongo.Collection.ObjectID(cfsRecord.copies.files.key) |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
newGridFSCollection.insert({ |
|
|
|
|
@ -58,7 +58,7 @@ RocketChat.Migrations.add({ |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
oldChunkCollection.find({ |
|
|
|
|
files_id: new Meteor.Collection.ObjectID(cfsRecord.copies.files.key) |
|
|
|
|
files_id: new Mongo.Collection.ObjectID(cfsRecord.copies.files.key) |
|
|
|
|
}).forEach((oldChunk) => { |
|
|
|
|
newChunkCollection.insert({ |
|
|
|
|
_id: oldChunk._id, |
|
|
|
|
@ -96,7 +96,7 @@ RocketChat.Migrations.add({ |
|
|
|
|
|
|
|
|
|
oldFilesCollection.remove({_id: cfsRecord._id}); |
|
|
|
|
oldGridFSCollection.remove({_id: oldGridFsFile._id}); |
|
|
|
|
oldChunkCollection.remove({files_id: new Meteor.Collection.ObjectID(cfsRecord.copies.files.key)}); |
|
|
|
|
oldChunkCollection.remove({files_id: new Mongo.Collection.ObjectID(cfsRecord.copies.files.key)}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
return console.log('End of file migration'); |
|
|
|
|
|