Hi Mohammed,
You need to make sure that all migrations that you do in development also can be run on the production machine - the migrations should be version controlled and checked in. Then you can run migrate when deploying new code and all migrations should just work. This is how I do it at least.
It seems as though you have different migrations on the server and development machine? I think that adds complexity that you really don't want.
And it doesn't matter if you have mysql on the production server and sqlite locally. The database settings should differ but the migrations are (more or less) database agnostic, so you should be able to run the same migrations (as long as you don't use specific database fields).
Regards,