Sometimes as your content evolves, it's necessary to change some properties that can cause data loss if not migrated properly.
You can migrate your data on Canonic from one field to another by writing a simple script.
Let's say you have a list of entries in a table called movies
. You want to migrate the actorName
field which
currently has only the actor's name. You want to link it to the Actor table instead.
- Create a new resource field in the graph called
actor
and link it to theActor
table. -
Run the following script
import Canonic from '@canonic/apis/netflix-api' Canonic.initialize('TOKEN'); Canonic.movies.migrate('actorName', 'actor', async (actorName) => { const actor = await Canonic.actors.find({ title: actorName }) if (actor) return actor._id; else return null; })
- The script tries to migrate the actorName field. It tries to find the actor and passes its id instead.