Follow these instructions to migrate Knowledge__kav articles.

1) Be sure you have migrated all the Data Category Group metadata type first.

2) Next, migrate the 'online' articles. The parent object is Knowledge__kav, and the child object is Knowledge__DataCategorySelection. Move the source Knowledge__kav objects where PublishStatus='online' and the matching field is UrlName. Then run the included Apex script to Publish Draft Articles on the destination org. This will move the destination articles from 'draft' to 'online' status. 

3) Next, migrate the 'draft' articles, if any. This will create the 'draft' articles on the destination. Do not change them to online.

4) If you screw up, we have included the Apex script to Delete Draft Articles. Here are the commands to execute the included Apex classes in the developer console.

Id batchJobId = Database.executeBatch(new DeleteDraftArticlesBatch(), 50);

System.debug('### JOB LAUNCHED. Job ID: ' + batchJobId);
System.debug('### Check Setup > Apex Jobs to monitor progress.');

Id batchJobId = Database.executeBatch(new PublishDraftArticlesBatch(), 50);

System.debug('### JOB LAUNCHED. Job ID: ' + batchJobId);
System.debug('### Check Setup > Apex Jobs to monitor progress.');
