manage.py werkt niet zonder database

Issue #12 resolved
Jelmer van der Linde created an issue

Wanneer ik manage.py op een kale installatie wil draaien (om de database op te zetten) loop ik tegen de volgende foutmelding aan:

Traceback (most recent call last):
  File "manage.py", line 4, in <module>
    from reclaim import app
  File "/Users/jelmer/Sites/cover/reclaim/reclaim/__init__.py", line 34, in <module>
    from . import views, models, forms, utils
  File "/Users/jelmer/Sites/cover/reclaim/reclaim/views.py", line 11, in <module>
    from .forms import ClaimForm, CommentForm, ClaimAdminForm, ClaimFilterForm
  File "/Users/jelmer/Sites/cover/reclaim/reclaim/forms.py", line 121, in <module>
    class ClaimFilterForm(FlaskForm):
  File "/Users/jelmer/Sites/cover/reclaim/reclaim/forms.py", line 139, in ClaimFilterForm
    choices=_insert_default_choice([(c.id, c.name) for c in Committee.query.all()]),
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2613, in all
    return list(self)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2761, in __iter__
    return self._execute_and_instances(context)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2776, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 914, in execute
    return meth(self, multiparams, params)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 323, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1010, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
    context)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1341, in _handle_dbapi_exception
    exc_info
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 202, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
    context)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
    cursor.execute(statement, parameters)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/Users/jelmer/Sites/cover/reclaim-venv/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
sqlalchemy.exc.ProgrammingError: (_mysql_exceptions.ProgrammingError) (1146, "Table 'reclaim.committee' doesn't exist") [SQL: u'SELECT committee.id AS committee_id, committee.name AS committee_name \nFROM committee']

Comments (2)

  1. Jelmer van der Linde reporter

    Oorzaak zit hem in forms.py, in de regel:

    choices=_insert_default_choice([(c.id, c.name) for c in Committee.query.all()]), 
    

    Daar moet even een try-except blok omheen om deze specifieke situatie op te vangen, of reclaim/__init__.py moet niet forms in alle situaties inladen.

  2. Log in to comment