Ver Fonte

create migration file

itizawa há 6 anos atrás
pai
commit
1596444127
1 ficheiros alterados com 37 adições e 0 exclusões
  1. 37 0
      src/migrations/20191126173013-adjust-pages-path.js

+ 37 - 0
src/migrations/20191126173013-adjust-pages-path.js

@@ -0,0 +1,37 @@
+require('module-alias/register');
+const logger = require('@alias/logger')('growi:migrate:adjust-pages-path');
+
+const mongoose = require('mongoose');
+const config = require('@root/config/migrate');
+
+const pathUtils = require('growi-commons').pathUtils;
+
+module.exports = {
+  async up(db) {
+    logger.info('Apply migration');
+    mongoose.connect(config.mongoUri, config.mongodb.options);
+
+    const Page = require('@server/models/page')();
+
+    // retrieve target data
+    const pages = await Page.find({ path: /^(?!\/)/ });
+
+    logger.info(pages);
+
+    // create requests for bulkWrite
+    const requests = pages.map((page) => {
+      // logger.info(page);
+      return pathUtils.addHeadingSlash(page.path);
+    });
+
+    if (requests.length > 0) {
+      await db.collection('pages').bulkWrite(requests);
+    }
+
+    logger.info('Migration has successfully applied');
+  },
+
+  down(db) {
+    // do not rollback
+  },
+};