Like Git for a database.

We can also use Alembic to manage all migrations for us.

alembic init alembic in the folder with main.py. Then config the alembic.ini file. To avoid publishing and commit password information, we can create an env.py file in the alembic directory and load our context from the .env file.

The main things to add in this file are to import our Base class from and our settings information. Then:

```bash
from core.config import settings  
from db.base import Base
 
config = context.config
 
#new
config.set_main_option("sqlalchemy.url",settings.DATABASE_URL)
 
target_metadata = Base.metadata  #find and replace target_metada