I am trying to implement a user migration with the migration module but am getting this error:
Fatal error: Call to a member function count() on a non-object in E:\wamp\www\website\sites\all\modules\migrate\includes\migration.inc on line 946
here is my migrate class:
abstract class CakeBaseMigration extends Migration {
public function __construct($arguments) {
parent::__construct($arguments);
$this->team = array(
new MigrateTeamMember('Chris', '[email protected]',
t('developer')),
);
Database::addConnectionInfo('for_migration', 'default', array(
'driver' => 'mysql',
'database' => 'databasename',
'username' => 'username',
'password' => 'password',
'host' => 'localhost',
'prefix' => '',
));
}
}
class CakeUserMigration extends CakeBaseMigration {
public function __construct($arguments) {
parent::__construct($arguments);
$this->description = t('Lagacy cakePHP system customers');
$query = Database::getConnection('default', 'for_migration')
->select('customers', 'c')
->fields('c');
$this->source = new MigrateSourceSQL($query);
$this->destination = new MigrateDestinationUser();
$this->map = new MigrateSQLMap($this->machineName,
array('id' => array(
'type' => 'int',
'not null' => TRUE,
'description' => 'Account ID.'
)
),
MigrateDestinationUser::getKeySchema()
);
$this->addFieldMapping('username', 'name');
$this->addFieldMapping('pass', 'password');
$this->addFieldMapping('mail', 'email');
$this->addFieldMapping('created', 'modified');
$this->addFieldMapping('roles')
->separator(',')
->defaultValue(DRUPAL_AUTHENTICATED_RID.',4');
}
}
running the drush command drush migrate-audit --all
says that that cakeUser is missing a source and destination.
I don't get it, Setting the database and running the query at devel/php returns the expected rows from the database.
Any help on this would be fantastic :)