Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

django.db.migrations.exceptions.NodeNotFoundError

Tags:

When i run makemigrations command, i got this error:

Traceback (most recent call last):
 ...
django.db.migrations.exceptions.NodeNotFoundError: Migration products.0002_auto_20160618_1143 dependencies reference nonexistent parent node (u'products', u'0001_initial')
like image 654
ammy Avatar asked Jun 21 '16 06:06

ammy


2 Answers

If you open the migration file products.0002_auto_20160618_1143 you will see a section called dependencies:

dependencies = [("products", "0001_initial")]

Which will look like that. This line tell Django that the current file depends on that file. A file that given that error message isn't there. You can try commenting out that line and running the command again. Be aware that if one file is missing it's possible many are missing so you should reconcile your dependencies with what files you actually have.

DISCLAIMER: If this is a production DB messing around with migration files can be dangerous if you don't know what you are doing. You should test this on a staging or dev server first (preferably one that has a snapshot you can restore to).

like image 172
kylieCatt Avatar answered Oct 11 '22 03:10

kylieCatt


If it not solve after reseting the migrations, follow the following steps: Apparently django kept migration files within it's own module folder. This is why you need to flush the django:

  1. pip uninstall django.
  2. /Lib/site-packages, deleted django folder.
  3. Deleted all *.pyc files in my project.
  4. Deleted all pycache folders in my project.
  5. Cleared all migrations folders in my project (keep init.py).
  6. pip install django==x.x.x.
  7. python manage.py migrate.
  8. python manage.py makemigrations <app_name>.
  9. python manage.py migrate.
  10. python manage.py runserver. Now your problem will be solved.
like image 31
Lokraj Ghimire Avatar answered Oct 11 '22 05:10

Lokraj Ghimire