EPrints Technical Mailing List Archive

Message: #05339


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Update ePrints 3.3.10 -> .15: table name changes surprise the system


Hello,

thanks much for keeping E-Print up-to-date with the time! :-)

We recently tried an update from our version 3.3.10 to .15 ...

...
% bin/epadmin upgrade heidok
Stopping indexer ...
Please restart the indexer
3.3.4
...

Apparently there were no changes to the database structure, since that schema version was already used in the old release. But subject hierarchy cannot be traversed, it seems tables have been renamed from subject_ordervalues_* to subject_sortvalues_*, which has not been taken into account in the upgrade run. I must be wrong with that assumption though, your test suite would certainly have yielded according errors. :-)

So, how can I solve this?

The errors are like this:
DBD::mysql::st execute failed: Table 'db.subject_name_sortvalue' doesn't exist at perl_lib/EPrints/Database.pm line 3211. SQL ERROR (execute): SELECT `subjectid`,`pos`,`name_sortvalue` FROM `subject_name_sortvalue` WHERE `subjectid` IN ('divisions')
SQL ERROR (execute): Table 'db.subject_name_sortvalue' doesn't exist
DBD::mysql::st fetchrow_array failed: fetch() without execute() at perl_lib/EPrints/Database.pm line 2674. DBD::mysql::st execute failed: Table 'db.subject_sortvalue_sortvalue' doesn't exist at perl_lib/EPrints/Database.pm line 3211. SQL ERROR (execute): SELECT `subjectid`,`pos`,`sortvalue_sortvalue` FROM `subject_sortvalue_sortvalue` WHERE `subjectid` IN ('divisions')
SQL ERROR (execute): Table 'db.subject_sortvalue_sortvalue' doesn't exist
DBD::mysql::st fetchrow_array failed: fetch() without execute() at perl_lib/EPrints/Database.pm line 2674. DBD::mysql::st execute failed: Table 'db.subject_sortvalue_lang' doesn't exist at perl_lib/EPrints/Database.pm line 3211. SQL ERROR (execute): SELECT `subjectid`,`pos`,`sortvalue_lang` FROM `subject_sortvalue_lang` WHERE `subjectid` IN ('divisions')
SQL ERROR (execute): Table 'db.subject_sortvalue_lang' doesn't exist
DBD::mysql::st fetchrow_array failed: fetch() without execute() at perl_lib/EPrints/Database.pm line 2674.
########## Caution here, lurking "ordervalues" substrings: ###########
DBD::mysql::st execute failed: Unknown column 'subject__ordervalues_de.sortvalue_sortvalue' in 'order clause' at perl_lib/EPrints/Database.pm line 3211. SQL ERROR (execute): SELECT `subject`.`subjectid` FROM `subject` LEFT JOIN `subject__ordervalues_de` ON `subject`.`subjectid`=`subject__ordervalues_de`.`subjectid` WHERE 1=1 GROUP BY `subject`.`subjectid`, `subject__ordervalues_de`.`sortvalue_sortvalue`, `subject__ordervalues_de`.`name_name` ORDER BY `subject__ordervalues_de`.`sortvalue_sortvalue` ASC, `subject__ordervalues_de`.`name_name` ASC SQL ERROR (execute): Unknown column 'subject__ordervalues_de.sortvalue_sortvalue' in 'order clause' DBD::mysql::st fetch failed: fetch() without execute() at perl_lib/EPrints/Search/Condition.pm line 588.


Regards
Florian


--
UB Heidelberg (Altstadt)
Plöck 107-109, 69117 HD
Abt. Informationstechnik
http://www.ub.uni-heidelberg.de/