Version 3.1 error with migrations

105 views
Skip to first unread message

maeva lantiat

unread,
Jun 2, 2022, 10:59:02 AM6/2/22
to QATrack+
Hi everyone,

I have an issue with the 3.1 version. Before to integrate data, I decide to run QAtrack.
To let you know, I use the docker. I followed the linux upgrading page, adapted to the docker.
To do this, I modified the docker_initialisation.py

I have print/show the migrations like this :

call_command('showmigrations')

 and my result seems ok : 

qatrack-django_1    | accounts
qatrack-django_1    |  [ ] 0001_initial
qatrack-django_1    |  [ ] 0002_activedirectorygroupmap_defaultgroup
qatrack-django_1    |  [ ] 0003_auto_20210207_1027
qatrack-django_1    | admin
qatrack-django_1    |  [X] 0001_initial
qatrack-django_1    |  [X] 0002_logentry_remove_auto_add

Seems, because I have the same result expected and described in the documentation. But I do not know if the non-presence of the cross is a good sign or not...

After that the migrate is done like this :

call_command('migrate', interactive=False)

and at the end, I have an error : qatrack-django_1    | __fake__.DoesNotExist: User matching query does not exist

------- All exception -----------------------------------------------------------------------------------------------------
qatrack-django_1    | Operations to perform:
qatrack-django_1    |   Apply all migrations: accounts, admin, attachments, auth, authtoken, contacts, contenttypes, django_comments, django_q, faults, issue_tracker, notifications, parts, qa, recurrence, reports, service_log, sessions, sites, units
qatrack-django_1    | Running migrations:
qatrack-django_1    |   Applying accounts.0001_initial...Traceback (most recent call last):
qatrack-django_1    |   File "/usr/src/qatrackplus/manage.py", line 10, in <module>
qatrack-django_1    |     execute_from_command_line(sys.argv)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
qatrack-django_1    |     utility.execute()
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
qatrack-django_1    |     self.fetch_command(subcommand).run_from_argv(self.argv)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv
qatrack-django_1    |     self.execute(*args, **cmd_options)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
qatrack-django_1    |     output = self.handle(*args, **options)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/management/commands/shell.py", line 92, in handle
qatrack-django_1    |     exec(sys.stdin.read())
qatrack-django_1    |   File "<string>", line 7, in <module>
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/docker_initialisation.py", line 40, in initialisation
qatrack-django_1    |     call_command('migrate', interactive=False)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/management/__init__.py", line 148, in call_command
qatrack-django_1    |     return command.execute(*args, **defaults)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute
qatrack-django_1    |     output = self.handle(*args, **options)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/management/base.py", line 83, in wrapped
qatrack-django_1    |     res = handle_func(*args, **kwargs)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 234, in handle
qatrack-django_1    |     fake_initial=fake_initial,
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/migrations/executor.py", line 117, in migrate
qatrack-django_1    |     state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
qatrack-django_1    |     state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/migrations/executor.py", line 245, in apply_migration
qatrack-django_1    |     state = migration.apply(state, schema_editor)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/migrations/migration.py", line 124, in apply
qatrack-django_1    |     operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/migrations/operations/special.py", line 190, in database_forwards
qatrack-django_1    |     self.code(from_state.apps, schema_editor)
qatrack-django_1    |   File "/usr/src/qatrackplus/qatrack/accounts/migrations/0001_initial.py", line 9, in update_internal_pass
qatrack-django_1    |     user = User.objects.get(username="QATrack+ Internal")
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
qatrack-django_1    |     return getattr(self.get_queryset(), name)(*args, **kwargs)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/models/query.py", line 408, in get
qatrack-django_1    |     self.model._meta.object_name
qatrack-django_1    | __fake__.DoesNotExist: User matching query does not exist

-------------------------------------------------------------------------------------------------------------

However the server is lauch. If I tried to access to the account page, I have an internal server error and in the consol this :

qatrack-django_1    | The above exception was the direct cause of the following exception:
qatrack-django_1    |
qatrack-django_1    | Traceback (most recent call last):
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 135, in handle
qatrack-django_1    |     self.handle_request(listener, req, client, addr)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 176, in handle_request
qatrack-django_1    |     respiter = self.wsgi(environ, resp.start_response)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 141, in __call__
qatrack-django_1    |     response = self.get_response(request)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/handlers/base.py", line 75, in get_response
qatrack-django_1    |     response = self._middleware_chain(request)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 36, in inner
qatrack-django_1    |     response = response_for_exception(request, exc)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 90, in response_for_exception
qatrack-django_1    |     response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 129, in handle_uncaught_exception
qatrack-django_1    |     return callback(request, **param_dict)
qatrack-django_1    |   File "/usr/src/qatrackplus/qatrack/qatrack_core/views.py", line 214, in handle_500
qatrack-django_1    |     exception,
qatrack-django_1    |   File "/usr/src/qatrackplus/qatrack/qatrack_core/views.py", line 181, in handle_error
qatrack-django_1    |     return render(request, 'site_error.html', context, status=code)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/shortcuts.py", line 36, in render
qatrack-django_1    |     content = loader.render_to_string(template_name, context, request, using=using)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/template/loader.py", line 62, in render_to_string
qatrack-django_1    |     return template.render(context, request)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render
qatrack-django_1    |     return self.template.render(context)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/template/base.py", line 169, in render
qatrack-django_1    |     with context.bind_template(self):
qatrack-django_1    |   File "/usr/local/lib/python3.6/contextlib.py", line 81, in __enter__
qatrack-django_1    |     return next(self.gen)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/template/context.py", line 242, in bind_template
qatrack-django_1    |     processors = (template.engine.template_context_processors +
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/utils/functional.py", line 80, in __get__
qatrack-django_1    |     res = instance.__dict__[self.name] = self.func(instance)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/template/engine.py", line 85, in template_context_processors
qatrack-django_1    |     return tuple(import_string(path) for path in context_processors)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/template/engine.py", line 85, in <genexpr>
qatrack-django_1    |     return tuple(import_string(path) for path in context_processors)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/utils/module_loading.py", line 17, in import_string
qatrack-django_1    |     module = import_module(module_path)
qatrack-django_1    |   File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
qatrack-django_1    |     return _bootstrap._gcd_import(name[level:], package, level)
qatrack-django_1    |   File "<frozen importlib._bootstrap>", line 994, in _gcd_import
qatrack-django_1    |   File "<frozen importlib._bootstrap>", line 971, in _find_and_load
qatrack-django_1    |   File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
qatrack-django_1    |   File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
qatrack-django_1    |   File "<frozen importlib._bootstrap_external>", line 678, in exec_module
qatrack-django_1    |   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
qatrack-django_1    |   File "/usr/src/qatrackplus/qatrack/context_processors.py", line 23, in <module>
qatrack-django_1    |     cache.delete(settings.CACHE_UNREVIEWED_FAULT_COUNT)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/cache/backends/db.py", line 207, in delete
qatrack-django_1    |     self.delete_many([key], version)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/cache/backends/db.py", line 214, in delete_many
qatrack-django_1    |     self._base_delete_many(key_list)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/core/cache/backends/db.py", line 232, in _base_delete_many
qatrack-django_1    |     keys,
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
qatrack-django_1    |     return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
qatrack-django_1    |     return executor(sql, params, many, context)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
qatrack-django_1    |     return self.cursor.execute(sql, params)
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
qatrack-django_1    |     raise dj_exc_value.with_traceback(traceback) from exc_value
qatrack-django_1    |   File "/usr/src/qatrackplus/deploy/docker/user-data/python-virtualenv/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
qatrack-django_1    |     return self.cursor.execute(sql, params)
qatrack-django_1    | django.db.utils.ProgrammingError: relation "qatrack_cache_table" does not exist
qatrack-django_1    | LINE 1: DELETE FROM "qatrack_cache_table" WHERE "cache_key" IN (':1:...
qatrack-django_1    |                     ^
qatrack-django_1    |

I search why, I tried several ideas but I do not have more track right now... Do you have any idea ?

Thanks for reading
Maëva

maeva lantiat

unread,
Jun 3, 2022, 9:55:55 AM6/3/22
to QATrack+
Hi,

The first error is gone. I modified the initial migration script of account like this : 

def update_internal_pass(apps, schema):
    User = apps.get_model("auth", "User")
    #user = User.objects.get(username="QATrack+ Internal")
    #user.password = make_password(User.objects.make_random_password())
    user = User.objects.get_or_create(
        username="QATrack+ Internal",
        defaults={
            'password': User.objects.make_random_password(),
        }
    )[0]
    user.save()

The second error is still there, I hope to find a solution.

Have a good day
Maëva

maeva lantiat

unread,
Jun 3, 2022, 10:15:11 AM6/3/22
to QATrack+
I found it ! I replace in the settings :

CACHE_LOCATION = os.path.join(PROJECT_ROOT, "cache", "cache_data")
#CACHES = {
#    'default': {
#        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
#        'LOCATION': 'qatrack_cache_table',
#    }
#}
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': CACHE_LOCATION,
        'TIMEOUT': MAX_CACHE_TIMEOUT,
    }
}

seems the qatrack_cache_table is not known 

Hope that will be helpfull for someone :) 

Randle Taylor

unread,
Jun 10, 2022, 11:30:40 PM6/10/22
to maeva lantiat, QATrack+
Hi Maeva,

Looks like you found a workaround. Just for your reference though, when you are using the DatabaseCache you can create the cache table with `python manage.py createcachetable`.

Randy

--
You received this message because you are subscribed to the Google Groups "QATrack+" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qatrack+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qatrack/85ddd951-6419-4e8e-9ee9-30b8634f9f25n%40googlegroups.com.

M. D. Lund

unread,
Sep 3, 2026, 5:13:48 AMSep 3
to QATrack+
Hi all.

Sorry for waking up this old thread. I am attempting to install QATrack+ 4.0 on Ubuntu 22.04 with MySQL, and ran into a similar problem when running `python manage.py loaddata fixtures/defaults/*/*` This returned a lot of errors from Python with the last line containing `django.db.utils.ProgrammingError: (1146, "Table 'qatrackplus40.qatrack_cache_table' doesn't exist")`

I then ran `python manage.py createcachetable` and afterwards I was able to run `python manage.py loaddata fixtures/defaults/*/*` without any problems.

So thanks for this tip :-)

Kind regards,
Mikkel

Nathan Smela

unread,
Sep 3, 2026, 6:05:44 AMSep 3
to QATrack+
Thanks for the update Mikkel. The install docs have the order of commands wrong for linux. Create issue #844 for it here: https://github.com/qatrackplus/qatrackplus/issues/844
Reply all
Reply to author
Forward
0 new messages