Subhi Beidas
5 points


  • #<User:0x00007f006fc968e8>

    Thanks for writing in Eldad.

    For Shippo's API, we did not see any use cases that would require us to do major DB model changes in the near and medium term. For almost all of our cases, either a representational change to the JSON and/or calling the controllers with different parameters would suffice.

    For major DB changes we thought about two options: 1) Minor DB changes: By using the existing API versioning framework, we would update the DB model and create a new serializer, then we can update the old serializer to interact with the new model. 2) Major DB changes: In case this comes up in the future, we brainstormed on creating an API Gateway app that would accept incoming API calls, this app would have no interaction with the data model and would merely be a translation layer between the public API and a set of internal APIs that we would better handle the routing to different code paths.