| 12345678910111213141516171819202122232425262728293031 |
- // see: https://github.com/weseek/growi/issues/8337
- import { type IPageHasId } from '@growi/core';
- import mongoose from 'mongoose';
- import { type PageModel } from '~/server/models/page';
- export const renameDuplicateRootPages = async(): Promise<void> => {
- const Page = mongoose.model<IPageHasId, PageModel>('Page');
- const rootPages = await Page.find({ path: '/' }).sort({ createdAt: 1 });
- if (rootPages.length <= 1) {
- return;
- }
- const duplicatedRootPages = rootPages.slice(1);
- const requests = duplicatedRootPages.map((page) => {
- return {
- updateOne: {
- filter: { _id: page._id },
- update: {
- $set: {
- parent: rootPages[0],
- path: `/obsolete-root-page-${page._id.toString()}`,
- },
- },
- },
- };
- });
- await Page.bulkWrite(requests);
- };
|