Pernah kalian mengalami error semacam ini ketika kalian hendak menjalankan perintah migrate atau migrations di django ?

django.db.utils.ProgrammingError: relation “django_content_type” already exists
django.db.utils.ProgrammingError: relation “auth_permission” already exists
django.db.utils.ProgrammingError: relation “django_admin_log” already exists
django.db.utils.ProgrammingError: relation “admin_tools_dashboard_preferences” already exists
django.db.utils.ProgrammingError: relation “django_session” already exists
django.db.utils.ProgrammingError: relation “django_site” already exists

Problem semacam itu menurut saya aneh, karena ya memang sudah pasti tabel-tabel tersebut sudah ada, akhirnya saya coba menDROP tabel itu lalu menjalankan migrate atau migration, dan cara ini tidak menjadi solusi buat saya bahkan saya menjadi jengkel.

Oke permasalah tersebut adalah dikarenakan ada proses migrations atau migrate pada tabel yang failed. Bagaimana kita mencari tau tabel apa yang bermasalah ? caranya cukup mudah hanya jalankan perintah dibawah ini :

python manage.py migrate –fake-initial

Nanti akan muncul app mana / tabel mana yang harus diperbaiki, seperti kasus saya dibawah ini :

Running migrations:
  Applying sysconf.0001_initial… FAKED
  Applying user_sessions.0001_initial… OK
  Applying user_sessions.0002_auto_20151208_1536… OK
  Applying user_sessions.0003_auto_20161205_1516… OK
  Applying user_sessions.0004_auto_20171220_1701… OK
  Applying user_sessions.0005_auto_20180302_1459… OK

Setelah itu coba kalian jalankan kembali migrate atau migrations, pasti sudah tidak error already exist lagi.