Okay, because waiting was unbearable, I went for (c) by myself...
I wrote a <code> script (which happens after <presql> and before <query>, just what I needed) that imports elements from the table and then moves them manually to data. I removed 'data' from the query section, of course.
I'll now be working on importing as many elements as possible, i.e. anything that's not used in an index or modified on the fly for other members...
Posted: February 17th, 2014, 11:22 AM
There's just one thing I don't know... If I have 10.000 members or something, how exactly am I supposed to split this query..?!
Or do I just rely on the fact that most of the members won't use the features I'm moving to data anyway..? (And thus, I can just make a query that skips members who use neither secret_question, nor message_labels, not mod_prefs, etc...)
Posted: February 17th, 2014, 11:29 AM
I really could use your help, @TE!
Oh... Good, then! I'd seen this preparsecode thing, but couldn't make sense out of it. Looks like it's just what I needed, thanks!
I'll get to work now...
Posted: February 17th, 2014, 06:18 PM
So, would this work..?
<preparsecode>
// We're going to import some of SMF's member settings into the serialized data array.
$data = array(
'message_labels' => $row['message_labels'],
'modset' => $row['mod_prefs'],
);
if (!empty($row['secret_question']))
$data['secret'] => array(
$row['secret_question'], $row['secret_answer']
);
$row['data'] = serialize($data);
</preparsecode>
I just wrote that, of course, haven't tested anything. Hopefully, the importer will catch that $row['data'] assignment and replace the existing value..?