Even this simple example throws a ValueError: Dependency on app with no migrations: myApp
during python manage.py syncdb
myApp/models.py
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
pass
settings.py
AUTH_USER_MODEL = 'myApp.User'
Running ./manage syncdb
in django==1.6.5 << works
Creating tables ...
Running ./manage syncdb
in django==1.7 << breaks
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute
output = self.handle(*args, **options)
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/core/management/base.py", line 533, in handle
return self.handle_noargs(**options)
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 27, in handle_noargs
call_command("migrate", **options)
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/core/management/__init__.py", line 115, in call_command
return klass.execute(*args, **defaults)
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute
output = self.handle(*args, **options)
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 63, in handle
executor = MigrationExecutor(connection, self.migration_progress_callback)
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/db/migrations/executor.py", line 17, in __init__
self.loader = MigrationLoader(self.connection)
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/db/migrations/loader.py", line 48, in __init__
self.build_graph()
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/db/migrations/loader.py", line 239, in build_graph
parent = self.check_key(parent, key[0])
File "/Users/bdhammel/Documents/web_development/tutorials/python_social_auth/env/lib/python2.7/site-packages/django/db/migrations/loader.py", line 163, in check_key
raise ValueError("Dependency on app with no migrations: %s" % key[0])
ValueError: Dependency on app with no migrations: myApp
I haven't been able to find anything in the documentation for 1.7 that says this should be done any differently that 1.6. It does look like some other people have had this problem too, but as a result from running ./manage.py migrate --list
Has anyone encountered this?
I guess I was looking in the wrong place for an answer:
I solved this by running: ./manage.py makemigrations myApp
(env)Bens-MacBook-Pro:social_auth bdhammel$ ./manage.py makemigrations myApp
Migrations for 'myApp':
0001_initial.py:
- Create model User
(env)Bens-MacBook-Pro:social_auth bdhammel$ python manage.py syncdb
Operations to perform:
Apply all migrations: sessions, admin, myApp, auth, default, contenttypes
Running migrations:
Applying contenttypes.0001_initial... FAKED
Applying auth.0001_initial... FAKED
Applying app.0001_initial... FAKED
Applying admin.0001_initial... FAKED
Applying default.0001_initial... FAKED
Applying sessions.0001_initial... FAKED
You have installed Django's auth system, and don't have any superusers defined.
Would you like to create one now? (yes/no): yes
via https://docs.djangoproject.com/en/1.7/topics/migrations/#s-custom-fields
EDIT
I should have used python manage.py migrate
instead of python manage.py syncdb
.
https://docs.djangoproject.com/en/1.8/releases/1.7/#schema-migrations
syncdb has been deprecated and replaced by migrate. Don’t worry - calls to syncdb will still work as before.