Open ctigelaar opened 1 year ago
Strange. I don't see how it would be possible for the type
to be null for Icon Picker 1 fields, that shouldn't be possible. But that's indeed what's happening on your install.
We should probably be a little less "all-or-nothing" about the migration where we retain the existing values if they can't be migrated. It does cause some other extra handling on our end, but probably worth the hassle to ensure content isn't wiped.
Should be fixed in 2.0.9 however because the content of the fields has already been modified, you'll need to revert to a database backup before your initial Icon Picker update to restore those old values, and they'll be migrated again. Apologies for the hassle.
Oh, and just wanted to confirm that your example above:
{
"icon":"/urban-building/008-school.svg",
"sprite":null,
"glyphId":null,
"glyphName":null,
"iconSet":null,
"type":null,
"css":null,
"width":null,
"height":null
}
Was the content of the field before updating to Icon Picker 2, or after?
Thanks for getting back to me, I came up with a migration script myself to fix the missing data. It works again.
Was the content of the field before updating to Icon Picker 2, or after?
The object as shown was after the 2.0.8 update. Only then I realised something was wrong.
Maybe somehow the data migration scripts didn't run on my site, that's the only reason I can find as an explanation. I also understand you should draw the line somewhere to find a starting point for your migration script. So for now I'm good, thanks.
I upgraded a site to Craft 4, including v2.0.8 of IconPicker. Somehow the migration of the icons went not perfect, because I have no icons anymore. As in, in CP the stored value in DB is not selected anymore and GQL is not returning any value. It looks like https://github.com/verbb/icon-picker/issues/60, but that one should be resolved in
2.0.8
, but my bug is introduced in that version.I did some debugging and found out that in the
convertModel
method in the migration (https://github.com/verbb/icon-picker/blob/craft-4/src/migrations/m221111_000000_modernize_model.php), you are checking for a$type
variable. If it exists you are migrating, if not you are not performing anything. Well, that's where it goes wrong, because my values stored in the database havetype: null
, see below:If I manually convert
icon
tovalue
andtype
tosvg
the CP is showing my icon again in the field.I'm an IconPicker user since 1.1.10 and always performed the updates all the time, so I don't know what happened in the meantime. But the fact that the if/else branching stops on checking if
$type
exists seems to rough, because I didn't get any error during migration or whatsoever.Maybe you can provide me a migration file to fix my values so everything works again? Would be highly appreciated.
N.B. Because I also had this issue (https://github.com/verbb/icon-picker/issues/64), I installed
dev-craft-4 as 2.0.8
today, but the bug with missing values was introduced by updating tov2.0.8
.Steps to reproduce
Craft CMS version
4.3.4
Plugin version
dev-craft-4 as 2.0.8
Multi-site?
No
Additional context
No response