← Back to team overview

openlp-core team mailing list archive

[Bug 1391638] Re: Songs database error when upgrading from 2.0.5 to 2.1.1

 

I got the song DB from one of users effected by this and can reproduce it. Found the traceback below in the debug log.
The problem seems to be that during the DB upgrade we try to drop a table called "media_files_songs", but it doesn't exists.


2014-11-12 14:03:49,008 openlp.core.lib.db                                      ERROR    Could not run database upgrade script "upgrade_1", upgrade process has been halted.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 867, in _execute_context
    context)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 326, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: media_files_songs

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

Traceback (most recent call last):
  File "/home/tgc/OpenLP/trunk/openlp/core/lib/db.py", line 146, in upgrade_db
    upgrade_func(session, metadata)
  File "/home/tgc/OpenLP/trunk/openlp/plugins/songs/lib/upgrade.py", line 60, in upgrade_1
    op.drop_table('media_files_songs')
  File "/usr/local/lib/python3.4/dist-packages/alembic/operations.py", line 735, in drop_table
    self._table(name, **kw)
  File "/usr/local/lib/python3.4/dist-packages/alembic/ddl/impl.py", line 158, in drop_table
    self._exec(schema.DropTable(table))
  File "/usr/local/lib/python3.4/dist-packages/alembic/ddl/impl.py", line 76, in _exec
    conn.execute(construct, *multiparams, **params)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 662, in execute
    params)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 720, in _execute_ddl
    compiled
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 874, in _execute_context
    context)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1024, in _handle_dbapi_exception
    exc_info
  File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 188, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=exc_value)
  File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 183, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 867, in _execute_context
    context)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 326, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (OperationalError) no such table: media_files_songs '\nDROP TABLE media_files_songs' ()

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1391638

Title:
  Songs database error when upgrading from 2.0.5 to 2.1.1

Status in OpenLP - Worship Presentation Software:
  New

Bug description:
  Reported by a few of our users (and experienced by me too).

  http://support.openlp.org/scp/tickets.php?id=2575
  http://support.openlp.org/scp/tickets.php?id=2567

  
  *OpenLP Bug Report*
  Version: {'build': None, 'full': '2.1.1', 'version': '2.1.1'}

  --- Details of the Exception. ---

  Songs list empty after upgrade to 2.11 (Ubuntu ppa).
  Every time I try to acces my songs list, I get this error. Also after manually importin from 2.05 (backup folder)

  --- Exception Traceback ---
  Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
  context)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 436, in do_execute
  cursor.execute(statement, parameters)
  sqlite3.OperationalError: no such column: authors_songs_1.author_type

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

  Traceback (most recent call last):
  File "/usr/share/openlp/openlp/plugins/songs/lib/mediaitem.py", line 282, in on_clear_text_button_click
  self.on_search_text_button_clicked()
  File "/usr/share/openlp/openlp/plugins/songs/lib/mediaitem.py", line 189, in on_search_text_button_clicked
  self.display_results_author(search_results)
  File "/usr/share/openlp/openlp/plugins/songs/lib/mediaitem.py", line 252, in display_results_author
  for song in author.songs:
  File "/usr/lib/python3/dist-packages/sqlalchemy/orm/attributes.py", line 239, in __get__
  return self.impl.get(instance_state(instance), dict_)
  File "/usr/lib/python3/dist-packages/sqlalchemy/orm/attributes.py", line 591, in get
  value = self.callable_(state, passive)
  File "/usr/lib/python3/dist-packages/sqlalchemy/orm/strategies.py", line 534, in _load_for_state
  return self._emit_lazyload(session, state, ident_key, passive)
  File "<string>", line 1, in <lambda>
  File "/usr/lib/python3/dist-packages/sqlalchemy/orm/strategies.py", line 603, in _emit_lazyload
  result = q.all()
  File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 2300, in all
  return list(self)
  File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 2412, in __iter__
  return self._execute_and_instances(context)
  File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 2427, in _execute_and_instances
  result = conn.execute(querycontext.statement, self._params)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 729, in execute
  return meth(self, multiparams, params)
  File "/usr/lib/python3/dist-packages/sqlalchemy/sql/elements.py", line 321, in _execute_on_connection
  return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 826, in _execute_clauseelement
  compiled_sql, distilled_params
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 958, in _execute_context
  context)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1160, in _handle_dbapi_exception
  exc_info
  File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 188, in raise_from_cause
  reraise(type(exception), exception, tb=exc_tb, cause=exc_value)
  File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 181, in reraise
  raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
  context)
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 436, in do_execute
  cursor.execute(statement, parameters)
  sqlalchemy.exc.OperationalError: (OperationalError) no such column: authors_songs_1.author_type 'SELECT songs.id AS songs_id, songs.song_book_id AS songs_song_book_id, songs.title AS songs_title, songs.alternate_title AS songs_alternate_title, songs.lyrics AS songs_lyrics, songs.verse_order AS songs_verse_order, songs.copyright AS songs_copyright, songs.comments AS songs_comments, songs.ccli_number AS songs_ccli_number, songs.song_number AS songs_song_number, songs.theme_name AS songs_theme_name, songs.search_title AS songs_search_title, songs.search_lyrics AS songs_search_lyrics, songs.create_date AS songs_create_date, songs.last_modified AS songs_last_modified, songs."temporary" AS songs_temporary, anon_1.authors_1_id AS authors_1_id, anon_1.authors_1_first_name AS authors_1_first_name, anon_1.authors_1_last_name AS authors_1_last_name, anon_1.authors_1_display_name AS authors_1_display_name \nFROM authors_songs, songs LEFT OUTER JOIN (SELECT authors_songs_1.author_id AS authors_songs_1_author_id, authors_songs_1.song_id AS authors_songs_1_song_id, authors_songs_1.author_type AS authors_songs_1_author_type, authors_1.id AS authors_1_id, authors_1.first_name AS authors_1_first_name, authors_1.last_name AS authors_1_last_name, authors_1.display_name AS authors_1_display_name \nFROM authors_songs AS authors_songs_1 JOIN authors AS authors_1 ON authors_1.id = authors_songs_1.author_id) AS anon_1 ON songs.id = anon_1.authors_songs_1_song_id \nWHERE ? = authors_songs.author_id AND songs.id = authors_songs.song_id' (77,)

  --- System information ---
  Plattform: Linux-3.16.0-24-generic-x86_64-with-Ubuntu-14.10-utopic
  Desktop: KDE SC

  --- Library Versions ---
  Python: 3.4.2
  Qt4: 4.8.6
  Phonon: 4.7.80
  PyQt4: 4.11.2
  QtWebkit: 537.21
  SQLAlchemy: 0.9.7
  SQLAlchemy Migrate: -
  BeautifulSoup: 4.3.2
  lxml: 3.3.6
  Chardet: 2.2.1
  PyEnchant: 1.6.6
  Mako: 1.0.0
  pyICU: -
  pyUNO bridge: 4.3
  VLC: 2.2.0-pre2 Weatherwax

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1391638/+subscriptions


References