# Apollo Federation - Best practice for publishing multiple subgraphs with breaking changes

**URL:** <https://community.apollographql.com/t/apollo-federation-best-practice-for-publishing-multiple-subgraphs-with-breaking-changes/820>\
**Category:** Schema Design\
**Tags:** federation\
**Created:** [July 20, 2021, 2:11pm UTC](https://community.apollographql.com/t/apollo-federation-best-practice-for-publishing-multiple-subgraphs-with-breaking-changes/820 "2021-07-20T14:11:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nicoowr](https://sea1.discourse-cdn.com/flex019/user_avatar/community.apollographql.com/nicoowr/32/170_2.png) [@Nicoowr](https://community.apollographql.com/u/Nicoowr)\
**Post date:** [July 20, 2021, 2:11pm UTC](https://community.apollographql.com/t/apollo-federation-best-practice-for-publishing-multiple-subgraphs-with-breaking-changes/820/1 "2021-07-20T14:11:04Z")

</div>

Let’s say I’m moving an entity from subgraph A to subgraph B, but subgraph A still references this entity. This is a breaking change.

Currently I’m publishing the two subgraphs in parallel. It does work but the output of the console can be disturbing since the first publish will result in composition error (but the second publish will fix them and update the gateway). So the user will see an error in the console.

Is there any best practice concerning the publishing of multiple subgraphs?

---

<div class="post-metadata">

**Author:** ![kartik\_gujarati](https://avatars.discourse-cdn.com/v4/letter/k/90ced4/32.png) [@kartik\_gujarati](https://community.apollographql.com/u/kartik_gujarati)\
**Post date:** [July 20, 2021, 2:18pm UTC](https://community.apollographql.com/t/apollo-federation-best-practice-for-publishing-multiple-subgraphs-with-breaking-changes/820/2 "2021-07-20T14:18:08Z")

</div>

Take a look at the [Migrating entities and fields](https://www.apollographql.com/docs/federation/entities/#migrating-entities-and-fields-advanced) docs. It has a very good example of entity migration from one sub-graph to another.

---

<div class="post-metadata">

**Author:** ![Nicoowr](https://sea1.discourse-cdn.com/flex019/user_avatar/community.apollographql.com/nicoowr/32/170_2.png) [@Nicoowr](https://community.apollographql.com/u/Nicoowr)\
**Post date:** [July 21, 2021, 5:23pm UTC](https://community.apollographql.com/t/apollo-federation-best-practice-for-publishing-multiple-subgraphs-with-breaking-changes/820/3 "2021-07-21T17:23:55Z")

</div>

Thanks for the link!

However I think my use case is a bit more complex: service A will be still responsible for a few fields of the entity which is moved. So I can’t simply replicate all the resolvers and the schema in service B, then publish + deploy service B, then remove then entity from service A as indicated in the doc.

I think I could resolve all possible fields in service B, publish and deploy it and then implement the remaining fields in service A and replace `type Entity` by `extend type Entity` in service A. But this migration seems quite complex to me, I wonder if I’m following the best practices here.
