Make seamless transition between new versions

Hello. I don’t understand some points about versions. I have two places, where I can run my code - developer place (my PC), and AWS server (Production). Now I have new features, and I want to create a new version of my extension. But how can I do that? If I change code on AWS server, my current extension won’t work. But I need to send version to Twitch for checking, and it can continue some days. Maybe I need to use some design patterns for backend, or something else for transition between versions. Could you please help and explain, how I can make two versions with one server?

For my extensions I (generally) pass a version number in the URL path/query string/body params of the request from my front end to my backend

Then my backend routes accordingly.

So if I have

  • ext version 1 it calls - EBS/api/1/thing

then I have

  • ext version 2 it calls - EBS/api/2/thing

Then my /api/ router handles accordingly.

And what is about database? If I changed structure of the database, how can I do versioning here? Use different schemas (PostgreSQL)?

Thats up to you depending on what works best for your application and what you are changing.

Theres no one answer to this and it’s not a problem specific to Twitch Extensions. There is a lot of writing and opinion on how to version API’s and Databases for version upgrades for websites in general. And I encourage you to seek that out and read further on it beyond the scope of this forum.

Ok, thanks, I’ll read about it :slight_smile: