Comments (8)
@jonasraoni @asmecher @marcbria It's possible there are old review rounds in your database that belong to submissions that no longer exist. We occasionally run into a bug where the review_assignments table has a null review_round_id and the way we fix this is with an SQL query like:
UPDATE review_assignments, review_rounds SET review_assignments.review_round_id = review_rounds.review_round_id WHERE review_assignments.submission_id = review_rounds.submission_id AND review_assignments.round = review_rounds.round;
Or something like that (test it first!). This won't fix stale database records that reference submissions that don't exist any more so perhaps some data clean-up is advised here as upgrading to 3.4 may be problematic later on if they are left hanging around.
from pkp-lib.
If the problem exists, I think it must be fixed, the upgrade path for old users is already not simple with the "pit-stop" step.
from pkp-lib.
@marcbria I'm pretty cautious and would normally only run this after a database backup, please. If you're doing that you should be alright.
from pkp-lib.
@jonasraoni or @mfelczak, do you know if hosting has run into this issue?
from pkp-lib.
I just helped to solve a couple of issues, so I haven't seen this one. The most experienced OJS 2 > 3 upgrader on the house is @jnugent 😁
from pkp-lib.
Thanks for your help guys!
@jnugent it's safe to run this in any journal?
I can add this to the bottom of each mysql dump... just in case the journal fails for this reason.
If it's safe, make sense to add this in the upgradeScript?
Could be reported in log as "Removing orphan reviews for article XXX that don't exist any more" or something like that.
Healing old-damaged DBs during upgrades is a present for our future selves. :-).
from pkp-lib.
Of course. I work on exact replicas of my journals and never touch anything in production until I'm absolutely sure it works in testing. :-)
Right now I'm doing the upgrade of 50 journals all our rubbish is coming to light. :-)
The point is, in other journals, I have found a couple of "DB integrity" issues more but related with authors and email_logs tables. Should I post them in the forum, in this thread or create an issue for each of them?
If it's safe, make sense to add this in the upgradeScript?
It could be reported in log as "Removing orphan reviews for article XXX that don't exist any more" or something like that.
I meant if you think this is something to include in the OJS upgrade script in case others run into this error in the future.
Probably the answer should be "no" as far looks like I'm the only one reporting this?
from pkp-lib.
Related Issues (20)
- Fatal error when searching for users that have no role in the journal
- Add new dropdown menu component
- Role assignment checkboxes behave unpredictably in some PHP environments HOT 1
- Error on the Plugin Gallery Page when the PKP Site is Down
- Not possible to add an institution HOT 1
- Wrong frequency for UsageStatsLoader scheduled task
- Upgrade script for existing default masthead roles and user assignments HOT 3
- Email variable for the review reminder is not being shared with the UI HOT 7
- [OMP] Review ONIX export for calls to get localized data
- Links with different hosts might be generated by scheduled tasks when calling the site from different domains
- Review PHP automated formatting (php-cs-fixer)
- Error handling in SubmissionWizard crashes
- Incorrect handling of HTML entity code & in OJS email subject HOT 15
- Introduce Author::add::before hook HOT 5
- Dissimilarity in session migration comparing with Laravel's session migration HOT 1
- [OJS 3.4] you can add an empty keyword
- Announcement type is removed without removing related files HOT 12
- Highlights feature shouldn't be displayed if it's not enabled HOT 1
- Image from announcements is not used
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pkp-lib.