Activity log for bug #1632567

Date Who What changed Old value New value Message
2016-10-12 05:23:55 Azaziah bug added bug
2016-10-12 05:23:55 Azaziah attachment added songs.sqlite https://bugs.launchpad.net/bugs/1632567/+attachment/4759738/+files/songs.sqlite
2016-12-10 02:58:26 Laura Ekstrand attachment added The debug log given by the OpenLP GUI. https://bugs.launchpad.net/openlp/+bug/1632567/+attachment/4789816/+files/complaint
2016-12-10 03:01:33 Laura Ekstrand attachment added Code to bypass the import problem. https://bugs.launchpad.net/openlp/+bug/1632567/+attachment/4789817/+files/out
2016-12-10 03:44:09 Launchpad Janitor branch linked lp:~ldeks/openlp/ldeks-bugfix
2016-12-10 10:43:35 Tim Bentley nominated for series openlp/2.4
2016-12-10 10:43:35 Tim Bentley bug task added openlp/2.4
2016-12-22 01:44:43 Azaziah description Importing .sqlite db into 2.4.3 portable. Win 10 Traceback (most recent call last): File "openlp\core\ui\wizard.py", line 216, in on_current_id_changed File "openlp\plugins\songs\forms\songimportform.py", line 351, in perform_wizard File "openlp\plugins\songs\lib\importers\openlp.py", line 224, in do_import AttributeError: 'OldSong' object has no attribute 'book' Importing songs that are using the new database format via import menu > OpenLP 2 or First Time Wizard causes traceback. Database structure has been changed from 2.2.1 2.2.1 songs.sqlite does not have a table named "songs_songbooks" Songbook details are stored in “songs” table with fields: “song_book_id” and “song_number” The problem seems to be that the importer tries to look for the songbook data from the "songs" table. This traceback appears on 2.4.4 when trying to import a 2.4 > database into OpenLP 2.4 > Traceback (most recent call last):   File "openlp\core\ui\wizard.py", line 216, in on_current_id_changed   File "openlp\plugins\songs\forms\songimportform.py", line 351, in perform_wizard   File "openlp\plugins\songs\lib\importers\openlp.py", line 224, in do_import AttributeError: 'OldSong' object has no attribute 'book' This also means 2.4> databases are not compatible with 2.2.1. < Is there a benefit in using the new db structure or should this be reverted? If 2.4> database is imported to 2.2.1 this traceback appears and OpenLP crashes with "Fatal error! Openlp returned -1" Traceback (most recent call last): File "c:\Python33\lib\site-packages\sqlalchemy\orm\relationships.py", line 1932, in _determine_joins File "<string>", line 2, in join_condition File "c:\Python33\lib\site-packages\sqlalchemy\sql\selectable.py", line 762, in _join_condition sqlalchemy.exc.NoForeignKeysError: Can't find any foreign key relationships between 'songs' and 'song_books'. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<string>", line 44, in <module> File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\__init__.py", line 388, in main File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\__init__.py", line 155, in run File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\core\ui\mainwindow.py", line 668, in first_time File "D:\bzr\Portable_builds\2_2_1\App\OpenLP\plugins\songs\songsplugin.py", line 317, in first_time importer.do_import(progress) File "D:\OpenLP_Development\OpenLP_Code\2.2\openlp\plugins\songs\lib\importers\openlp.py", line 154, in do_import File "c:\Python33\lib\site-packages\sqlalchemy\orm\scoping.py", line 149, in do File "c:\Python33\lib\site-packages\sqlalchemy\orm\session.py", line 1151, in query File "c:\Python33\lib\site-packages\sqlalchemy\orm\query.py", line 106, in __init__ File "c:\Python33\lib\site-packages\sqlalchemy\orm\query.py", line 116, in _set_entities File "c:\Python33\lib\site-packages\sqlalchemy\orm\query.py", line 149, in _set_entity_selectables File "c:\Python33\lib\site-packages\sqlalchemy\orm\query.py", line 2987, in setup_entity File "c:\Python33\lib\site-packages\sqlalchemy\util\langhelpers.py", line 712, in __get__ File "c:\Python33\lib\site-packages\sqlalchemy\orm\mapper.py", line 1856, in _with_polymorphic_mappers File "c:\Python33\lib\site-packages\sqlalchemy\orm\mapper.py", line 2560, in configure_mappers File "c:\Python33\lib\site-packages\sqlalchemy\orm\mapper.py", line 1673, in _post_configure_properties File "c:\Python33\lib\site-packages\sqlalchemy\orm\interfaces.py", line 143, in init File "c:\Python33\lib\site-packages\sqlalchemy\orm\relationships.py", line 1510, in do_init File "c:\Python33\lib\site-packages\sqlalchemy\orm\relationships.py", line 1586, in _setup_join_conditions File "c:\Python33\lib\site-packages\sqlalchemy\orm\relationships.py", line 1849, in __init__ File "c:\Python33\lib\site-packages\sqlalchemy\orm\relationships.py", line 1953, in _determine_joins sqlalchemy.exc.NoForeignKeysError: Could not determine join condition between parent/child tables on relationship OldSong.book - there are no foreign keys linking these tables. Ensure that referencing columns are associated with a ForeignKey or ForeignKeyConstraint, or specify a 'primaryjoin' expression.
2016-12-22 01:45:54 Azaziah summary OpenLP importer AttributeError: 'OldSong' object has no attribute 'book' OpenLP importer can't handle new song songbook DB structure (AttributeError: 'OldSong' object has no attribute 'book')
2016-12-22 01:47:33 Azaziah openlp: status New Confirmed
2016-12-22 01:47:38 Azaziah openlp: importance Undecided Medium
2017-01-02 21:29:32 Azaziah openlp: importance Medium High
2017-01-08 23:05:27 Azaziah openlp: assignee Azaziah (suutari-olli)
2017-01-08 23:05:58 Azaziah branch linked lp:~suutari-olli/openlp/fix-openlp-importer
2017-10-02 13:51:44 Phill openlp: status Confirmed Fix Committed
2017-10-02 13:51:48 Phill openlp: assignee Azaziah (suutari-olli)
2017-10-02 13:52:15 Phill openlp: assignee Raoul Snyman (raoul-snyman)
2017-10-02 15:58:03 Raoul Snyman openlp/2.4: status New Fix Released
2017-10-02 15:58:07 Raoul Snyman openlp/2.4: assignee Raoul Snyman (raoul-snyman)
2019-03-17 21:41:57 Tim Bentley openlp: milestone 2.9.1