Hello all,
I am setting up everything for a new project I will be working on with a few other people. I have experience with IAC, and setting up the developer experience and stack, but DB setup is a blindspot for me. I am leaning towards a SQL DB (likely postgres) as I have had bad experiences with NOSQL DBs in the past, and I think we'll deploy our dev and prod DB using a managed DB from Digital Ocean.
My questions are mainly:
1. What are the best practices regarding local development using SQL databases? I don't really know how to ask this better, but my experience has only ever been developing on existing systems.
2. What are current best practices to interact with DBs? I see a lot of ORM slander but I don't even know alternatives I could possibly suggest.
3. What are best practices for team database management? Obviously git workflows exist for most code, but I have no idea what I should do re. migrations etc.
4. Do you have any resources to suggest regarding deploying database infra. This one is less important because I think it will become fairly self explanitory once I read up on 1-3, but it would still be nice.
Any help would be much appreciated and I can elaborate more if needed. Thank you all in advance and sorry if these are fairly basic questions!