Hello Team!
I have a pretty old site that I am updating to EE7. The site has about 400 fields(as result - 800+ columns in exp_channel_data table), and now I’m facing an issue exporting it to the production database because exp_channel_data is too large, causing the error: Row size too large (> 8126). Due to db specific, I can’t use workaround like SET GLOBAL innodb_strict_mode=OFF;.
Are there any utilities available to move field columns from this table to their own tables(exp_channel_data_field_x)?
If no such tools exist and I need to develop my own, are there any limitations I should be aware of? I believe most fields should work fine this way—at least all native ones, like text, field packs, etc.
Thanks!
Hi max! Long time no see! We have made a script that does that! Hit me or jcogs up in slack!
Hi Max!
Good to hear from you!
Yup, I’d check out the the Channel Migration add-on
Cheers, and hope you are well!
-Tom Jaeger
Hello Jelle! Your add-on did the job. Thanks! Saved me hours :-D Just one small modification was required to ensure it does not fail when trying to migrate data for fields that didn’t have any channels.
Convert.php Line 125
if ($field->getAllChannels()->count()) {
$facade->migrateData($field->getAllChannels());
}Doing migration and QA now.
Hey Tom! I’m fine, hope you’re doing well too!
By the way, can we get a license check exception for common test domains and URLs from DDEV, for example? You know that in many cases, good development can include up to three live domains (dev/staging/prod), not including domains for local environments.
Cheers! Max
Hi Max,
This list should be what we have setup currently. Is there a specific one your looking for?
Hi Max
Thanks for the suggestion for an improvement to the Channel Data Migration utility. I have posted an updated version that includes your suggestion on the ExpressionEngine store.
?
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.