Первое предположение: у вас есть данные в существующих таблицах, которые несовместимы с ограничением, которое вы сейчас добавляете.Если это не похоже на проблему, было бы неплохо дать немного больше информации о том, когда произошла эта ошибка.Когда вы пытались запустить миграцию, я предполагаю.
PS Вы можете столкнуться с проблемами, пытаясь использовать набор первичного ключа, который имеет смысловой смысл и также может быть изменен.Если вы оставите первичный ключ в значении id и привязываете пользователей к учетным записям по id, вам будет легче, когда, например, когда-нибудь вы захотите разрешить пользователям менять свой адрес электронной почты.Если вы хотите убедиться, что есть одна учетная запись, связанная с адресом электронной почты, которой достаточно легко достичь с помощью уникального ограничения на поле электронной почты.