I think we should remove the index and the validation. Then maybe we could add a code which updates old repo in case new one is created with the same owner and name. Example use case:

1. User1 changes username and does not log into Travis nor pushes any commits, thus his username in our DB stays unchanged until we do an automatic sync
2. User2 registers with the old username and logs into Travis and creates the exact same repository
3. We should let the repository to be created
4. We should ideally rename the old one

I'm pretty sure that we can leave it like that for now, because it is an edge case and even without doing 4 it will be fine.