Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

django 1.7 migrate gets error "table already exists"

I am trying to apply a migration but am getting the error:

django.db.utils.OperationalError: (1050, "Table 'customers_customer' already exists")

I get this by issuing the following command:

python manage.py migrate 

My customer table already exists, so what do I do to let the migration know this, not error out, and run my modification to my model?

I ran this on my local environment with local database with no problem. It is when I pointed my database to production and ran migrate above that I get this error.

like image 673
Atma Avatar asked Sep 19 '14 01:09

Atma


People also ask

What is the difference between Makemigrations and migrate in Django?

makemigrations is responsible for packaging up your model changes into individual migration files - analogous to commits - and migrate is responsible for applying those to your database.


1 Answers

If you have the table created in the database, you can run

python manage.py migrate --fake <appname> 

Mark migrations as run without actually running them

Or if you want to avoid some actions in your migration, you can edit the migration file under the app/migrations directory and comment the operations you don't want to do in the migrate execution.

Docs: https://docs.djangoproject.com/en/1.8/topics/migrations/#upgrading-from-south or python manage.py help migrate

like image 50
elmonkeylp Avatar answered Sep 22 '22 21:09

elmonkeylp