migrate --run-syncdb

I had some issues when running migrate saying duplicate field/column etc - already exists and all. But I by chance ran migrate with --run-syncdb and then again migrate and it showed :

python manage.py migrate --run-syncdb
  Creating tables...
    Running deferred SQL...
Running migrations:
  No migrations to apply

Does --run-syncdb solve this database mismatch with model issue ?

would you find python manage.py migrate --fake-initial?