i had a problem with migration of more than 500 accounts from openldap to MySQL
all accounts were not present in the list:
I have identified two reason:
- by default, openldap server don’t return more than 500 records
–> modify slapd.conf : sizelimit 2000
An other problem is that the number of records was > 500 (500 is the first account id in our parameters)
i have modified script account_migration.php
from line 97
// fetch the complete data (search reads not everything), plus the members(hips)
$tmp = array();
//foreach($accounts as $account_id => $account)
foreach($accounts as $account)
{
$account_id = $account[‘account_id’];
$tmp[$account_id] = $GLOBALS[‘egw’]->accounts->read($account_id);
if ($account['account_type'] == 'g')
{
$tmp[$account_id]['members'] = $GLOBALS['egw']->accounts->members($account_id,true);
}
else
{
$tmp[$account_id]['memberships'] = $GLOBALS['egw']->accounts->memberships($account_id,true);
}
}
$accounts = $tmp;