From 696cd3b0e35673966c9aee5089c9a821b9e00d04 Mon Sep 17 00:00:00 2001 From: otofune Date: Tue, 7 Nov 2017 09:58:02 +0900 Subject: [PATCH] migration - add migration to support changed filename usage --- ...change-gridfs-metadata-name-to-filename.js | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tools/migration/change-gridfs-metadata-name-to-filename.js diff --git a/tools/migration/change-gridfs-metadata-name-to-filename.js b/tools/migration/change-gridfs-metadata-name-to-filename.js new file mode 100644 index 000000000..0d9e977c6 --- /dev/null +++ b/tools/migration/change-gridfs-metadata-name-to-filename.js @@ -0,0 +1,30 @@ +// for Node.js interpret +/** + * change usage of GridFS filename + * see commit fb422b4d603c53a70712caba55b35a48a8c2e619 + */ + +const { default: DriveFile } = require('../../built/api/models/drive-file') + +async function applyNewChange (doc) { + const result = await DriveFile.update(doc._id, { + $set: { + filename: doc.metadata.name + }, + $unset: { + 'metadata.name': '' + } + }) + return result.ok === 1 +} + +async function main () { + const oldTypeDocs = await DriveFile.find({ + 'metadata.name': { + $exists: true + } + }) + return await Promise.all(oldTypeDocs.map(applyNewChange)) +} + +main().then(console.dir).catch(console.error)