@sanity/migrate
Version:
Tooling for running data migrations on Sanity.io projects
29 lines (26 loc) • 606 B
text/typescript
export const renameField = ({
documentTypes,
migrationName,
}: {
documentTypes: string[]
migrationName: string
}) => `import {defineMigration, at, setIfMissing, unset} from 'sanity/migrate'
const from = 'oldFieldName'
const to = 'newFieldName'
export default defineMigration({
title: ${JSON.stringify(migrationName)},
${
documentTypes.length > 0
? ` documentTypes: [${documentTypes.map((t) => JSON.stringify(t)).join(', ')}],\n`
: ''
}
migrate: {
document(doc, context) {
return [
at(to, setIfMissing(doc[from])),
at(from, unset())
]
}
}
})
`