Django syncdb on first deployment
syncdb has been changed to migrate since django 1.7

Migrations
New in Django 1.7.
Migrations are Django’s way of propagating changes you make to your models (adding a field, deleting a model, etc.) into your database schema. They’re designed to be mostly automatic, but you’ll need to know when to make migrations, when to run them, and the common problems you might run into.
Prior to version 1.7, Django only supported adding new models to the database; it was not possible to alter or remove existing models via the syncdb command (the predecessor to migrate).

The difference betwen migrate and makemigrations is nicely stated by doru.
So I've managed to create a site with django 1.8 and I'm ready to deploy. I have several new models and I'm using django-allauth which has it's own models. I've also managed to make changes to settings with a config file to use different databases for production and development as well as turning off debug when it's production, etc.
I've uploaded my project folder to the production server and getting ready to add new lines in http.conf for Apache but I can't wrap my head around the database.
Do I run syncdb or makemigrations on the production server? How does django know to use the production db and not the development db. My settings look for hostname from socket to decide if it's production or development.
What should I do next?