In v5.x, you might still face the problem. So, try to delete related table manually first using
php artisan tinker
Then
Schema::drop('books')
(and exit with q)
Now, you can successfully php artisan migrate:rollback and php artisan migrate.
If this happens repeatedly you should check that the down() method in your migration is showing the right table name. (Can be a gotcha if you’ve changed your table names.)