← 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

 

Unfortunately I don't think we have a way of detecting whether the
version we are upgrading from is 2.0.5 or not. We've introduced this in
2.1.1, but for earlier version we can't. And if the DB version can't be
trusted either we're pretty lost...

-- 
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:
  Confirmed

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