EPrints Technical Mailing List Archive

Message: #05343


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

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


Hi Florian,

Try running:

bin/epadmin update heidok

It should create the necessary tables for your repository.

regards,
Jiadi


On 19/01/2016 12:20, Florian Heß wrote:
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