DefectDojo / django-DefectDojo

DevSecOps, ASPM, Vulnerability Management. All on one platform.
https://defectdojo.com
BSD 3-Clause "New" or "Revised" License
3.66k stars 1.53k forks source link

Upgrade Error (enable_notify_sla_exponential_backoff) #7950

Closed Barcode91 closed 8 months ago

Barcode91 commented 1 year ago

Bug description I did a version upgrade. (v.2.20 -> v.2.21) My old settings on the settings page did not come. I entered slack and mail settings again. When I try to save, I get the following error. I don't use any feature related to Jira. Have the columns of the relevant table in the database changed?

Expected behavior Coming of the settings entered before the update, saving the new settings to the system.

Deployment method

Environment information

Logs

Environment:

Request Method: POST
Request URL: http://****.****.com/system_settings

Django Version: 4.1.7
Python Version: 3.8.10
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'polymorphic',
 'django.contrib.admin',
 'django.contrib.humanize',
 'gunicorn',
 'auditlog',
 'dojo',
 'watson',
 'tagging',
 'imagekit',
 'multiselectfield',
 'rest_framework',
 'rest_framework.authtoken',
 'dbbackup',
 'django_celery_results',
 'social_django',
 'drf_yasg',
 'drf_spectacular',
 'tagulous',
 'fontawesomefree')
Installed Middleware:
['django.middleware.common.CommonMiddleware',
 'dojo.middleware.APITrailingSlashMiddleware',
 'dojo.middleware.DojoSytemSettingsMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'dojo.middleware.LoginRequiredMiddleware',
 'dojo.middleware.AdditionalHeaderMiddleware',
 'social_django.middleware.SocialAuthExceptionMiddleware',
 'watson.middleware.SearchContextMiddleware',
 'auditlog.middleware.AuditlogMiddleware',
 'crum.CurrentRequestUserMiddleware',
 'dojo.request_cache.middleware.RequestCacheMiddleware']

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

The above exception (column "enable_notify_sla_exponential_backoff" of relation "dojo_system_settings" does not exist
LINE 1: ..._active_verified", "enable_notify_sla_jira_only", "enable_no...
                                                             ^
) was the direct cause of the following exception:
  File "/opt/dojo/lib/python3.8/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/opt/dojo/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/dojo/lib/python3.8/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/opt/dojo/django-DefectDojo/dojo/system_settings/views.py", line 66, in system_settings
    new_settings = form.save()
  File "/opt/dojo/lib/python3.8/site-packages/django/forms/models.py", line 548, in save
    self.instance.save()
  File "/opt/dojo/lib/python3.8/site-packages/django/db/models/base.py", line 812, in save
    self.save_base(
  File "/opt/dojo/lib/python3.8/site-packages/django/db/models/base.py", line 863, in save_base
    updated = self._save_table(
  File "/opt/dojo/lib/python3.8/site-packages/django/db/models/base.py", line 1006, in _save_table
    results = self._do_insert(
  File "/opt/dojo/lib/python3.8/site-packages/django/db/models/base.py", line 1047, in _do_insert
    return manager._insert(
  File "/opt/dojo/lib/python3.8/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/opt/dojo/lib/python3.8/site-packages/django/db/models/query.py", line 1791, in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
  File "/opt/dojo/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1660, in execute_sql
    cursor.execute(sql, params)
  File "/opt/dojo/lib/python3.8/site-packages/django/db/backends/utils.py", line 102, in execute
    return super().execute(sql, params)
  File "/opt/dojo/lib/python3.8/site-packages/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/opt/dojo/lib/python3.8/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/opt/dojo/lib/python3.8/site-packages/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
  File "/opt/dojo/lib/python3.8/site-packages/django/db/utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/opt/dojo/lib/python3.8/site-packages/django/db/backends/utils.py", line 89, in _execute
    return self.cursor.execute(sql, params)
Exception Type: ProgrammingError at /system_settings
Exception Value: column "enable_notify_sla_exponential_backoff" of relation "dojo_system_settings" does not exist
LINE 1: ..._active_verified", "enable_notify_sla_jira_only", "enable_no...
                                                             ^

Screenshots image

Barcode91 commented 1 year ago

I tried from version 2.20.3 to version 2.21.0. it gave the same error again. Can you help?

manuel-sommer commented 8 months ago

@Barcode91 I guess this is rather something for the slack channel. If you agree, please close this @mtesauro