> how do you perform your database changes as part of your deployment system?Usually you run a database migration tool. However, the application has to be coded in a resilient way, so it can work with current and the immediate previous version.
In dev/test environments and if you have initial data that needs to be loaded, you just bring a new database up with the latest schema (hopefully in version control). You can have test cases that load old data, perform a migration and use the latest app version.
For production, it needs to be done more carefully if you're doing huge database changes. Ideally, you shouldn't exactly because CI/CD is letting you make smaller changes constantly... but sometimes your data is just too big and not trivial to migrate (e.g. a table with 1bn records now needs a new column base on data from another two columns)