Closed bes-internal closed 3 years ago
This script is supposed to be run when upgrading from version < 0.6.
Anyway, I don't see how that might have happened. I'm unable to reproduce. Do you have any logs from the upgrade?
I used manual upgrade and run script referring to this line (branch 1.4) https://github.com/roundcube/roundcubemail/blob/51b8137170bc66a5e68b36710b0f05386d6c6f50/UPGRADING#L78
I changed program/include/rcmail_utils.php to this:
Then i tried to find this row in output (this is roundcube db with actual data, table contacts [contacts_id ... userid]):
and got empty data for this contacts.contact_id (and all other too)
One mistake on my side, the script is required for < 0.6, but optional for newer versions.
Works for me with 1.4.2. The script (modified the same way with echo) displays proper data and many runs of the same script print the same, do not remove any data.
What PHP version? What database? Is this the result of the script execution on a non-malformed database (from backup)? Script run on already malformed data will not help much. Does the version of the script from 1.4.2 also cause the same issue? Could you provide full record from database (SELECT * FROM contacts WHERE contact_id = 77
)?
php-7.3.13 mysql-5.7.27 contacts migrate from another db by script (respect users, contactgroups, contactgroupmembers). If the base is broken after the transfer, then how to find out exactly what is on the contact_id=77? There must be entries in the contactgroups/contactgroupmembers tables for contact_id=77? Besides this, no problems were found in the roundcube with contacts.
SELECT * FROM contacts WHERE contact_id = 77
:
Does it help if you remove content of the vcard
column?
Excellent, vcards were updated and email dont empty. I can’t say for sure when the vcards were damaged.
Fixed.
After upgrade I found that all contacts with an empty email field. I filled in the fields back from the backup and restarting them again deleted them.
The problem appeared near upgrade 1.3.8 -> 1.3.9 Сhecking for 2fa6dd7 (lastes 1.4)
Actual DDL: