Open edolyne opened 8 years ago
Thanks for the suggestion! Are you saying it locks up the tables preventing site visitors from accessing he site? Are you able to do the import on another environment, and then re-import the database from that environment?
I just gave this a shot and I received the following MySQL error:
A Database Error Occurred
Error Number: 1117
Too many columns
ALTER TABLE exp_channel_data
ADD field_id_1745
VARCHAR(8)
Filename: libraries/api/Api_channel_fields.php
Line Number: 675
Our DB is pretty big. Any thoughts about how I might overcome this?
š¬ Sorry to hear, Robert! Unfortunately MySQL has a pretty hard limit on MySQL row sizes. We're aware of this and will eventually move away from this kind of limiting schema with ExpressionEngine, but I don't think there's currently much you can do but try to get rid of some fields, either by just doing without them or finding a way to reuse fields across channels.
Yeah, I thought that would be the answer. I will be recoding our site using Stash so I think I can dramatically cut down on the number of playa fields that are used in every single channel. Iām just not looking forward to having to reset the content in these fields for 1500 web pages.
From: Kevin Cupp notifications@github.com Reply-To: EllisLab/PlayaMatrixImporter reply@reply.github.com Date: Wednesday, December 7, 2016 at 3:45 PM To: EllisLab/PlayaMatrixImporter PlayaMatrixImporter@noreply.github.com Cc: Robert roberth@cps.ca, Comment comment@noreply.github.com Subject: Re: [EllisLab/PlayaMatrixImporter] [Enhancement] Specify Field(s) To Be Imported (#4)
š¬ Sorry to hear, Robert! Unfortunately MySQL has a pretty hard limit on MySQL row sizes. We're aware of this and will eventually move away from this kind of limiting schema with ExpressionEngine, but I don't think there's currently much you can do but try to get rid of some fields, either by just doing without them or finding a way to reuse fields across channels.
ā You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/EllisLab/PlayaMatrixImporter/issues/4#issuecomment-265568024, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGxDY2x77YUMeqq1-8ZwChb7fJ9pEr-8ks5rFxrUgaJpZM4I752B.
For anyone else looking to get around this limitation, it can be done by modifying the get_{fieldtype}_fields() function in libraries/playa_importer.php and libraries/matrix_importer.php. (See example below) Simply specify which fields you'd like to migrate, run the importer, then delete the original fields from the system. It means stepping lightly and slowly but will get you to the finish line š
Line 113 of libraries/playa_importer.php:
public function get_playa_fields()
{
return ee()->db->where('field_type','playa')
->where_in('field_id',array(1134,1135))
->get('channel_fields')
->result_array();
}
We manage a large EE install where importing all of our Matrix and Playa fields at one time locks up our database. It would be great to have an option on the import screen to be able to select all, or specific fields to import at a given time. Thanks!