Migrate module only imports first line of CSV file I have a Migrate module class that works with CSV files and when I go through with the import it only goes through the first line of the CSV and then completes with a success message.  That one line is imported correctly and the data is in place, but I'm wondering why it continues to stop at the first line. 

When I run the import again it does not import anything and completes with success message again, mostly likely because the first line is already imported.

Any ideas?

class UserMigration extends MyMigration {
  public function __construct($arguments) {
    parent::__construct($arguments);

    $this-&gt;description = t('Import Users');
    $columns = array(
      0 =&gt; array('username', 'Username'),
      2 =&gt; array('email', 'Email'),
    );

    $this-&gt;source = new MigrateSourceCSV(drupal_get_path('module', 'my_module') . '/Users.csv', $columns);
    $this-&gt;destination = new MigrateDestinationUser();
    $this-&gt;addFieldMapping('name', 'username');
    $this-&gt;addFieldMapping('mail', 'email');
    $this-&gt;addFieldMapping('roles')
         -&gt;defaultValue(DRUPAL_AUTHENTICATED_RID);
    $source_key = array(
      'username' =&gt; array(
        'type' =&gt; 'varchar',
        'length' =&gt; 255,
        'not null' =&gt; TRUE,
      )
    );
    $this-&gt;map = new MigrateSQLMap($this-&gt;machineName, $source_key, MigrateDestinationUser::getKeySchema());

  }
}
It's possible that the CSV is saved with the wrong line endings. Try saving the CSV file with Unix-style line endings. By default, I believe Migrate expects a Unix format text file.