3 ms·
We're doing something similar using Prisma. We have a script that queries Postgres database periodically and generates a Prisma schema for the tables/columns. T
by zlumer 4y ago
We're doing something similar using Prisma.
We have a script that queries Postgres database periodically and generates a Prisma schema for the tables/columns.
Then the script diffs previous schema with a newer one and if any changes are detected, it creates an SQL migration and commits it to the git repo.
That way we have a history of all changes in a very readable way, and an always up-to-date Prisma schema and TypeScript typings for the DB client.
- pharmakom 4y agoUhhh shouldn’t that be the other way around? You should write the migrations and commit them to Git THEN apply them to the database after review?
- zlumer 4y agoIf you describe the workflow for the production DB, then yes, that's exacly how it works. But we also need a way to fiddle with the dev environment, while keeping track of everything that happened during development phase and making sure that it can be applied to the production DB in a single command with little room for errors. Having a git repo in sync with the DB and a full history of changes in commit log helps a lot.