Safe Rolling Deployments When Dropping Columns
Hello, I'm wondering if there are tricks or advice to drop columns safely in production w/ rolling deployments. Here's some context to explain the problem and what I mean by rolling deploys:
* dev adds column X to table A in PR-1
* column X is picked up automatically included in Prisma queries on table A like... prisma.client.tableA.findMany({ where: id })
* PR-1 is deployed to PRD and column X is added as a prequisite to rolling out the new version
* dev drops columnX in PR-2
* PR-2 is deployed to PRD and column X is dropped as a preq to rolling out the new version.
* After the column is dropped the previously deployed version running from PR-1 starts throwing errors that "column X does not exist"
* Once PR-2 is successfully deployed the old PR-1 deployments get deleted
What I'm wondering is:
1. am I making a mistake to use prisma w/out select ?
2. is there some way to do a two phase deployment where a column can be "pre-dropped" somehow?
3. something else?
Thanks in advance
0 Replies