@sanity/migrate
Version:
Tooling for running data migrations on Sanity.io projects
30 lines (28 loc) • 808 B
text/typescript
export const minimalAdvanced = ({
documentTypes,
migrationName,
}: {
documentTypes: string[]
migrationName: string
}) => `import {defineMigration, patch, at, setIfMissing} from 'sanity/migrate'
/**
* this migration will set \`Default title\` on all documents that are missing a title
* and make \`true\` the default value for the \`enabled\` field
*/
export default defineMigration({
title: ${JSON.stringify(migrationName)},
${
documentTypes.length > 0
? ` documentTypes: [${documentTypes.map((t) => JSON.stringify(t)).join(', ')}],\n`
: ''
}
async *migrate(documents, context) {
for await (const document of documents()) {
yield patch(document._id, [
at('title', setIfMissing('Default title')),
at('enabled', setIfMissing(true)),
])
}
}
})
`