Will I have to migrate all my legacy slices over at some point or can I continue to keep a mix of legacy and new ones?
My understanding
I understand the impact is only that if I want to modify a legacy slice like to add another field, I have to add it in the local json file of the custom type then push the changes to Prismic. Is this correct?
Where I am
I've started upgrading / migrating slices.
I don't have a Prismic test environment so when I push to Prismic, the migrated slices impact the whole website immediately.
They have been working fine so far. I have done it for a few of the ones that I use less. At first I thought I wanted to migrated all over to be completely off everything legacy, but it scares me a bit.
Hey @anne.shackelford, for now, the legacy builder is still available, but please note our official stance:
Technically, as you've seen, you can currently use both the legacy builder and Slice Machine if your repository supports it. However, we strongly discourage mixing the two builders as it can lead to conflicts and breaking errors.
Our recommendation is to fully migrate to Slice Machine to avoid any potential issues and ensure a consistent workflow.
I don't actually use the 2 builders like I used to. I use the Slice Machine and editing of legacy models: I create all new slices in the Slice Machine. If I need modify something in an existing slice, then I modify the json of the slice.
If I could preview the whole site without 'publishing' it, then I could try. But I don't think I can go backwards if something breaks. Like if it suddenly broke all the Heros then that would be an issue, and other slices that are used many times.
Is there a way to go back if the migration of legacy slices doesn't work?
There's no way to "go backwards" if something breaks as you've mentioned, but you could make use of the Migration API to export the data you have as a "save point": Migrating to Prismic - Documentation - Prismic. It will let you backup everything you have, and easily re-import it elsewhere if you need. In that same vein, you could create a test repository, import all your data in it, make your changes and test as you go along. Once you're all set up, import all of that in your actual repository