Min and max functions out of scope #59

Closed
opened 2020-01-22 18:06:27 +01:00 by tteichler · 16 comments
Owner
Traceback (most recent call last):
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "chronos_timeperiod" does not exist
LINE 1: ...s_timeperiod"."time_end") AS "time_end__max" FROM "chronos_t...
                                                             ^


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "./manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/base.py", line 366, in execute
    self.check()
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/base.py", line 395, in check
    include_deployment_checks=include_deployment_checks,
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 64, in _run_checks
    issues.extend(super()._run_checks(**kwargs))
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/base.py", line 382, in _run_checks
    return checks.run_checks(**kwargs)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/checks/registry.py", line 72, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/checks/urls.py", line 13, in check_url_config
    return check_resolver(resolver)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/checks/urls.py", line 23, in check_resolver
    return check_method()
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 407, in check
    for pattern in self.url_patterns:
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/utils/functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 588, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/utils/functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 581, in urlconf_module
    return import_module(self.urlconf_name)
  File "/srv/aleksis/venv/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/src/AlekSIS/aleksis/core/urls.py", line 67, in <module>
    urlpatterns.append(path("app/%s/" % app_config.label, include("%s.urls" % app_config.name)))
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/urls/conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "/srv/aleksis/venv/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/src/AlekSIS/apps/official/AlekSIS-App-Chronos/aleksis/apps/chronos/urls.py", line 3, in <module>
    from . import views
  File "/usr/src/AlekSIS/apps/official/AlekSIS-App-Chronos/aleksis/apps/chronos/views.py", line 20, in <module>
    from .util.min_max import (
  File "/usr/src/AlekSIS/apps/official/AlekSIS-App-Chronos/aleksis/apps/chronos/util/min_max.py", line 7, in <module>
    Min("period"), Max("period"), Min("weekday"), Max("weekday"), Min("time_start"), Max("time_end")
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/models/query.py", line 384, in aggregate
    return query.get_aggregation(self.db, kwargs)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/models/sql/query.py", line 502, in get_aggregation
    result = compiler.execute_sql(SINGLE)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1144, in execute_sql
    cursor.execute(sql, params)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 100, in execute
    return super().execute(sql, params)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 68, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "chronos_timeperiod" does not exist
LINE 1: ...s_timeperiod"."time_end") AS "time_end__max" FROM "chronos_t...
                                                             ^

This happens a after fresh install on debian sid with postgresql 12.1-2

``` Traceback (most recent call last): File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 86, in _execute return self.cursor.execute(sql, params) psycopg2.errors.UndefinedTable: relation "chronos_timeperiod" does not exist LINE 1: ...s_timeperiod"."time_end") AS "time_end__max" FROM "chronos_t... ^ The above exception was the direct cause of the following exception: Traceback (most recent call last): File "./manage.py", line 15, in <module> execute_from_command_line(sys.argv) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute() File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/base.py", line 328, in run_from_argv self.execute(*args, **cmd_options) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/base.py", line 366, in execute self.check() File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/base.py", line 395, in check include_deployment_checks=include_deployment_checks, File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 64, in _run_checks issues.extend(super()._run_checks(**kwargs)) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/management/base.py", line 382, in _run_checks return checks.run_checks(**kwargs) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/checks/registry.py", line 72, in run_checks new_errors = check(app_configs=app_configs) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/checks/urls.py", line 13, in check_url_config return check_resolver(resolver) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/core/checks/urls.py", line 23, in check_resolver return check_method() File "/srv/aleksis/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 407, in check for pattern in self.url_patterns: File "/srv/aleksis/venv/lib/python3.7/site-packages/django/utils/functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 588, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/utils/functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/urls/resolvers.py", line 581, in urlconf_module return import_module(self.urlconf_name) File "/srv/aleksis/venv/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/usr/src/AlekSIS/aleksis/core/urls.py", line 67, in <module> urlpatterns.append(path("app/%s/" % app_config.label, include("%s.urls" % app_config.name))) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/urls/conf.py", line 34, in include urlconf_module = import_module(urlconf_module) File "/srv/aleksis/venv/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/usr/src/AlekSIS/apps/official/AlekSIS-App-Chronos/aleksis/apps/chronos/urls.py", line 3, in <module> from . import views File "/usr/src/AlekSIS/apps/official/AlekSIS-App-Chronos/aleksis/apps/chronos/views.py", line 20, in <module> from .util.min_max import ( File "/usr/src/AlekSIS/apps/official/AlekSIS-App-Chronos/aleksis/apps/chronos/util/min_max.py", line 7, in <module> Min("period"), Max("period"), Min("weekday"), Max("weekday"), Min("time_start"), Max("time_end") File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/models/query.py", line 384, in aggregate return query.get_aggregation(self.db, kwargs) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/models/sql/query.py", line 502, in get_aggregation result = compiler.execute_sql(SINGLE) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1144, in execute_sql cursor.execute(sql, params) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 100, in execute return super().execute(sql, params) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 68, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers return executor(sql, params, many, context) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 86, in _execute return self.cursor.execute(sql, params) File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/utils.py", line 90, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/srv/aleksis/venv/lib/python3.7/site-packages/django/db/backends/utils.py", line 86, in _execute return self.cursor.execute(sql, params) django.db.utils.ProgrammingError: relation "chronos_timeperiod" does not exist LINE 1: ...s_timeperiod"."time_end") AS "time_end__max" FROM "chronos_t... ^ ``` This happens a after fresh install on `debian sid` with `postgresql 12.1-2`
Owner

Oh, ok, we need a lazy wrapper for the min max functions. You haven't done migrations yet, have you?

Oh, ok, we need a lazy wrapper for the min max functions. You haven't done migrations yet, have you?
Author
Owner

No, I haven't

No, I haven't
Author
Owner

Has to be fixed as soon as possible due the presentation at FOSDEM.

Has to be fixed as soon as possible due the presentation at FOSDEM.
Owner

assigned to @nik

assigned to @nik
Owner

changed milestone to %"2.0a1"

changed milestone to %"2.0a1"
Owner

changed due date to January 26, 2020

changed due date to January 26, 2020
Owner

As I said, the min and max functions have to reside inside a manager. Defining them on model scope somewhere will cause this and other issues.

As I said, the min and max functions have to reside inside a manager. Defining them on model scope somewhere will cause this and other issues.
Owner

changed title from {-Error after fresh install-} to {+MIn and max functions out of scope+}

changed title from **{-Error after fresh install-}** to **{+MIn and max functions out of scope+}**
Owner

I was (and I am still) unsure how to resolve it. Maybe you can do that, @nik?

I was (and I am still) unsure how to resolve it. Maybe you can do that, @nik?
Owner

mentioned in commit bb049cf9a2fdf48bc07c211882976ed23cbc0e09

mentioned in commit bb049cf9a2fdf48bc07c211882976ed23cbc0e09
Owner

changed title from M{-I-}n and max functions out of scope to M{+i+}n and max functions out of scope

changed title from **M{-I-}n and max functions out of scope** to **M{+i+}n and max functions out of scope**
Owner

mentioned in merge request !337

mentioned in merge request !337
Owner

mentioned in commit d924fb55b1

mentioned in commit d924fb55b19d7c673deeec308e58b4e8f6515f6d
Owner

closed via merge request !337

closed via merge request !337
Owner

mentioned in commit 35d64da9a6

mentioned in commit 35d64da9a6c6ed5077f8651a36a316306e49acb0
Owner

closed via commit d924fb55b1

closed via commit d924fb55b19d7c673deeec308e58b4e8f6515f6d
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
aleksis/AlekSIS-App-Chronos#59
No description provided.