EPrints Technical Mailing List Archive
See the EPrints wiki for instructions on how to join this mailing list and related information.
Message: #08450
< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First
Re: [EP-tech] EPrints v3.1.2 migration to the latest version
- To: <eprints-tech@ecs.soton.ac.uk>, Guntis Zelvis <guntis.zelvis@gmail.com>
- Subject: Re: [EP-tech] EPrints v3.1.2 migration to the latest version
- From: David R Newman <drn@ecs.soton.ac.uk>
- Date: Sat, 16 Jan 2021 18:37:49 +0000
Hi Guntis,
This looks to be down to foreign key constraints. As you are
trying to upgrade from a version of EPrints that is over 12 years
ago, I cannot know whether this was a known issue at the time or
just some quirk of running an very old EPrints database schema in
what may be a rather more recent version of MySQL.
Assuming that you have suitables backups of the database so you can roll back if things go wrong, I would recommend temporarily adding the following line to perl_lib/EPrints/Database/mysql.pm (for EPrints 3.3.16) after line 243:
$self->do('SET foreign_key_checks = 0;');
CAUTION: This e-mail originated outside the University of Southampton. Hello! I am trying to migrate EPrints v3.1.2 to the latest version. As I understand it is impossible to migrate straight to v3.4.2, so first I try to install v3.3.16 and upgrade repository to this version, but there is few errors in output of 'epadmin upgrade REPOID' Added dataset upload_progress DBD::mysql::db do failed: Can't create table 'REPOID.#sql-10710_38' (errno: 150) at /usr/share/eprints/bin/../perl_lib/EPrints/Database.pm line 3052, <STDIN> line 1. SQL ERROR (do): ALTER TABLE `subject_name_sortvalue` ADD CONSTRAINT `subject_name_sortvalue_fk` FOREIGN KEY(`subjectid`) REFERENCES `subject`(`subjectid`) ON DELETE CASCADE SQL ERROR (do): Can't create table 'REPOID.#sql-10710_38' (errno: 150) (#1005) Later there is: Upgrading dataset file Upgrading `file` by insertion DBD::mysql::db do failed: Cannot delete or update a parent row: a foreign key constraint fails at /usr/share/eprints/bin/../perl_lib/EPrints/Database.pm line 3052, <STDIN> line 1. SQL ERROR (do): DROP TABLE IF EXISTS `old_file` SQL ERROR (do): Cannot delete or update a parent row: a foreign key constraint fails (#1217) Upgrading dataset upload_progress Upgrading `upload_progress` by insertion DBD::mysql::db do failed: Cannot delete or update a parent row: a foreign key constraint fails at /usr/share/eprints/bin/../perl_lib/EPrints/Database.pm line 3052, <STDIN> line 1. SQL ERROR (do): DROP TABLE IF EXISTS `old_upload_progress` SQL ERROR (do): Cannot delete or update a parent row: a foreign key constraint fails (#1217) Upgrading rindex and grep tables for subject DBD::mysql::st execute failed: Table 'REPOID.subject__rindex' doesn't exist at /usr/share/eprints/perl_lib/EPrints/Database/mysql.pm line 423, <STDIN> line 1. DBD::mysql::st fetch failed: fetch() without execute() at /usr/share/eprints/perl_lib/EPrints/Database/mysql.pm line 426, <STDIN> line 1. DBD::mysql::st execute failed: Table 'REPOID.subject__rindex' doesn't exist at /usr/share/eprints/bin/epadmin line 2769, <STDIN> line 1. DBD::mysql::st fetch failed: fetch() without execute() at /usr/share/eprints/bin/epadmin line 2770, <STDIN> line 1. DBD::mysql::db do failed: Table 'REPOID.subject__rindex' doesn't exist at /usr/share/eprints/bin/../perl_lib/EPrints/Database.pm line 3052, <STDIN> line 1. SQL ERROR (do): ALTER IGNORE TABLE subject__rindex MODIFY field VARCHAR(64) CHARACTER SET UTF8, MODIFY word VARCHAR(128) CHARACTER SET UTF8, DEFAULT CHARACTER SET UTF8, ADD PRIMARY KEY(field,word,`subjectid`) SQL ERROR (do): Table 'REPOID.subject__rindex' doesn't exist (#1146) And everything stops here: Upgrading dataset metafield ------------------------------------------------------------------ ---------------- EPrints System Error ---------------------------- ------------------------------------------------------------------ An unexpected error occurred while attempting to convert tables to UTF-8. ------------------------------------------------------------------ EPrints System Error inducing stack dump at /usr/share/eprints/bin/../perl_lib/EPrints.pm line 147, <STDIN> line 1. EPrints::abort() called at /usr/share/eprints/bin/epadmin line 2753 main::upgrade_mysql_charset('EPrints::Repository=HASH(0xb9fc80)', 'EPrints::Database::mysql=HASH(0x384b458)') called at /usr/share/eprints/bin/epadmin line 3008 main::upgrade_3_1_2_to_3_2_0('EPrints::Repository=HASH(0xb9fc80)', 'EPrints::Database::mysql=HASH(0x384b458)') called at /usr/share/eprints/bin/epadmin line 2887 main::upgrade('REPOID') called at /usr/share/eprints/bin/epadmin line 320 How to fix these errors and complete repository upgrade? *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech *** Archive: https://eur03.safelinks.protection.outlook.com/?url=""> *** EPrints community wiki: https://eur03.safelinks.protection.outlook.com/?url="">
- References:
- [EP-tech] EPrints v3.1.2 migration to the latest version
- From: Guntis Zelvis <guntis.zelvis@gmail.com>
- [EP-tech] EPrints v3.1.2 migration to the latest version
- Prev by Date: [EP-tech] EPrints v3.1.2 migration to the latest version
- Next by Date: Re: [EP-tech] EPrints v3.1.2 migration to the latest version
- Previous by thread: [EP-tech] EPrints/CRIS
- Next by thread: [EP-tech] DOI handling in orcid_support_advance
- Index(es):