openfun / richie

:pencil: An opensource CMS to build education portals
https://richie.education
MIT License
260 stars 84 forks source link

Migrations are not applied within makefile task 'bootstrap' #1839

Closed sveetch closed 2 days ago

sveetch commented 1 year ago

Bug Report

Expected behavior/code Once successfully installed with make bootstrap the site should run and display pages correctly.

Actual Behavior Trying to reach any page leads to a Http500 error with the following traceback:

Environment:

Request Method: GET
Request URL: http://192.168.0.105:8070/

Django Version: 3.2.16
Python Version: 3.10.8
Installed Applications:
('richie.apps.demo',
 'richie.apps.search',
 'richie.apps.courses',
 'richie.apps.core',
 'richie.plugins.glimpse',
 'richie.plugins.html_sitemap',
 'richie.plugins.large_banner',
 'richie.plugins.nesteditem',
 'richie.plugins.plain_text',
 'richie.plugins.section',
 'richie.plugins.simple_picture',
 'richie.plugins.simple_text_ckeditor',
 'richie.plugins.lti_consumer',
 'richie',
 'dj_pagination',
 'dockerflow.django',
 'parler',
 'rest_framework',
 'djangocms_admin_style',
 'djangocms_googlemap',
 'djangocms_link',
 'djangocms_picture',
 'djangocms_text_ckeditor',
 'djangocms_video',
 'cms',
 'menus',
 'sekizai',
 'treebeard',
 'filer',
 'easy_thumbnails',
 'dal',
 'dal_select2',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.admin',
 'django.contrib.sites',
 'django.contrib.sitemaps',
 'django.contrib.staticfiles',
 'django.contrib.messages',
 'django.contrib.humanize')
Installed Middleware:
('richie.apps.core.cache.LimitBrowserCacheTTLHeaders',
 'cms.middleware.utils.ApphookReloadMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'dockerflow.django.middleware.DockerflowMiddleware',
 'cms.middleware.user.CurrentUserMiddleware',
 'cms.middleware.page.CurrentPageMiddleware',
 'cms.middleware.toolbar.ToolbarMiddleware',
 'cms.middleware.language.LanguageCookieMiddleware',
 'dj_pagination.middleware.PaginationMiddleware')

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)

The above exception (relation "cms_urlconfrevision" does not exist
LINE 1: ...sion"."id", "cms_urlconfrevision"."revision" FROM "cms_urlco...
                                                             ^
) was the direct cause of the following exception:
  File "/usr/local/lib/python3.10/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.10/site-packages/django/utils/deprecation.py", line 116, in __call__
    response = self.process_request(request)
  File "/usr/local/lib/python3.10/site-packages/cms/middleware/utils.py", line 11, in process_request
    apphook_reload.ensure_urlconf_is_up_to_date()
  File "/usr/local/lib/python3.10/site-packages/cms/utils/apphook_reload.py", line 19, in ensure_urlconf_is_up_to_date
    global_revision = get_global_revision()
  File "/usr/local/lib/python3.10/site-packages/cms/utils/apphook_reload.py", line 55, in get_global_revision
    revision, _ = UrlconfRevision.get_or_create_revision(
  File "/usr/local/lib/python3.10/site-packages/cms/models/apphooks_reload.py", line 26, in get_or_create_revision
    obj, created = cls.objects.get_or_create(
  File "/usr/local/lib/python3.10/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 581, in get_or_create
    return self.get(**kwargs), False
  File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 431, in get
    num = len(clone)
  File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 262, in __len__
    self._fetch_all()
  File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 1324, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 51, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "/usr/local/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1175, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 98, in execute
    return super().execute(sql, params)
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 79, in _execute
    with self.db.wrap_database_errors:
  File "/usr/local/lib/python3.10/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)

Exception Type: ProgrammingError at /
Exception Value: relation "cms_urlconfrevision" does not exist
LINE 1: ...sion"."id", "cms_urlconfrevision"."revision" FROM "cms_urlco...
                                                             ^

Steps to Reproduce

  1. Clone repository from master branch
  2. Use make bootstrap and when finished successfully use make run
  3. Go anywhere on deployed local site, like http://localhost:8070/

Worth to note than then after, i've runned make migrate, not any migrations was created from make bootstrap, and when it finished, the site has coming back without error (except for missing data, but it was expected).

Environment

Possible Solution

I don't really know what is going on, since the migrate tasks is included in make bootstrap

sveetch commented 1 year ago

I think this may have been an issue with memory, i'm recalling to have seen many logging output about the postgres container instance that could not be reached, and so maybe the migrate task an further tasks from bootstrap could not have been runned.

You probably can close this issue.

sveetch commented 2 days ago

I'm closing this since i did not reproduce this issue with more recent releases.