Currently in Azure, I have a website (app service) pointing a database (Sql Server). So far so good! Everything is still in development so nothing is live yet. I use EF code first migration with all my development, so I make an entity change, create a migration file, then update the db.
Now I want to get ready to go live! Or at least get closer to going live and create a new dev site/db for new features.
Problem - If I create a 2nd database, it's schema, data, etc won't match my first db.
QUESTION 1 - Do I want to mirror, copy, replicate, copy then sync, etc, my 1st db (prod) as my 2nd db (dev)?
QUESTION 2 - If I do a copy, what's it like if my db starts to get large, +TB's. Will it take a long time to copy ex. 1+ hr? How does a company like Airbnb create and manage development db's? The reason I ask is my site is similar in that I have profiles, listings, scheduled events, lots of micro services, credit cards, bank account transactions, etc.
I do understand that I will eventually push changes from my 2nd database (dev or QA) to my 1st database (prod), so maybe I have this thought process backwards? Either way I need help in understanding the correct way in how to set this up.
REQUIREMENT - I want my development and prod db to be the same until I make changes to the dev db and then push those changes to the prod db. I also need data that is either production data in the development db (I know this isn't recommended) or some other data that can be generated for testing purposes. Most of the data in my db is pretty complex, ids returned from micro services, etc, so writing a simple seed script to generate and fill test data into the development db might be difficult to do.
Please let me know what the prescribed way to do this is and if there is a better way as I'm new to all the Azure features?