Also, I'm afraid that this migration will add a `1` to every user's username. E.g.:

1. my user.name = Jon Lemmon and my user.username = jonlemmon
2. we call generate_username on my user
3. it searches through the db and finds a username called jonlemmon (me) and so when it re-generates my username it adds a 1 to the end (jonlemmon1)

Perhaps we can add a check somewhere in the generate username function to get around this? Otherwise we might just have to generate usernames only for existing erroneous usernames. This could be done by doing including a `where` clause to only find users that have non-ascii characters in their username.