Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ошибка во время миграции #59

Open
SemenMartynov opened this issue Apr 3, 2015 · 8 comments
Open

Ошибка во время миграции #59

SemenMartynov opened this issue Apr 3, 2015 · 8 comments

Comments

@SemenMartynov
Copy link
Owner

Ошибка при первом запуске

(src)sam@spb:~/tmp/src/proj$ python ./manage.py migrate
Operations to perform:
  Synchronize unmigrated apps: webapp, loginsys, django_jenkins
  Apply all migrations: sessions, contenttypes, auth, admin
Synchronizing apps without migrations:
  Creating tables...
    Creating table webapp_category
    Creating table webapp_depart
    Creating table webapp_purchase
    Creating table webapp_pop
    Creating table webapp_po
    Creating table loginsys_customuser
  Installing custom SQL...
  Installing indexes...
Running migrations:
  Applying contenttypes.0001_initial...Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/sam/tmp/src/lib/python3.4/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/home/sam/tmp/src/lib/python3.4/site-packages/django/core/management/__init__.py", line 377, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/sam/tmp/src/lib/python3.4/site-packages/django/core/management/base.py", line 288, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/sam/tmp/src/lib/python3.4/site-packages/django/core/management/base.py", line 338, in execute
    output = self.handle(*args, **options)
  File "/home/sam/tmp/src/lib/python3.4/site-packages/django/core/management/commands/migrate.py", line 160, in handle
    executor.migrate(targets, plan, fake=options.get("fake", False))
  File "/home/sam/tmp/src/lib/python3.4/site-packages/django/db/migrations/executor.py", line 63, in migrate
    self.apply_migration(migration, fake=fake)
  File "/home/sam/tmp/src/lib/python3.4/site-packages/django/db/migrations/executor.py", line 91, in apply_migration
    if self.detect_soft_applied(migration):
  File "/home/sam/tmp/src/lib/python3.4/site-packages/django/db/migrations/executor.py", line 135, in detect_soft_applied
    apps = project_state.render()
  File "/home/sam/tmp/src/lib/python3.4/site-packages/django/db/migrations/state.py", line 71, in render
    raise InvalidBasesError("Cannot resolve bases for %r\nThis can happen if you are inheriting models from an app with migrations (e.g. contrib.auth)\n in an app with no migrations; see https://docs.djangoproject.com/en/1.7/topics/migrations/#dependencies for more" % new_unrendered_models)
django.db.migrations.state.InvalidBasesError: Cannot resolve bases for [<ModelState: 'loginsys.CustomUser'>]
This can happen if you are inheriting models from an app with migrations (e.g. contrib.auth) in an app with no migrations; see https://docs.djangoproject.com/en/1.7/topics/migrations/#dependencies for more

При этом база вроде как создаётся, и приложение стартует.

@newmumba
Copy link
Collaborator

newmumba commented May 3, 2015

Ошибка возникает из-за неправильной последовательности миграций.
При первом использовании необходимо вводить команды в следующем порядке:

python manage.py makemigrations loginsys
python manage.py makemigrations webapp
python manage.py migrate
python manage.py createsuperuser

Для удобства был сделан файл start.bat, расположенный в папке с manage.py. Его можно использовать при развороте проекта. Она создает все миграции и суперпользователя с именем admin, необходимо будет указать пароль.

Для запуска bin файла в Linux необходимо ввести в терминале:

    chmod +x start.bin
    ./start.bat

@SemenMartynov
Copy link
Owner Author

Не надо багу закрывать, надо же проверить новый рецепт...

@newmumba
Copy link
Collaborator

newmumba commented May 3, 2015

Хорошо, ждем результата проверки.

@SemenMartynov
Copy link
Owner Author

Хм... У меня вот что вызывает сомнение: на сколько правильно держать этот скрипт прямо в директории с сорцами? Т.е. может вынести этот скрипт в отдельную директорию, и туда же скинуть скрипты для сборки deb...

@newmumba
Copy link
Collaborator

newmumba commented May 3, 2015

тут необходимо обращаться напрямую к manage.py

@newmumba
Copy link
Collaborator

newmumba commented May 3, 2015

Мы можем разместить его на уровень ниже или в другой папке, лишь бы не было проблем с путями до manage.py.

@SemenMartynov
Copy link
Owner Author

Ок, я тогда это всё проверю.
Всё равно скрипт из #70 нужно куда-то класть, и наверно не в папку с сорцами))

@newmumba
Copy link
Collaborator

newmumba commented May 3, 2015

я готов рассмотреть предложения и переписать скрипт в соответствии с ними.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants