ON CONFLICT ON CONSTRAINT не выявляет уникальные конфликты в postgresql
У меня есть эта строка кода
db.execute("""INSERT INTO warelo.users (email, username, hash, wg_puid) VALUES(%s, %s, %s, %s)
ON CONFLICT ON CONSTRAINT users_email_username_user_id_key DO NOTHING
RETURNING (user_id)""",
(request.form.get("email"), request.form.get("username"), hash, wg_puid))
result = db.fetchall()
Он должен зарегистрировать пользователя и убедиться, что имя пользователя и адреса электронной почты уникальны, если имя пользователя, адрес электронной почты или user_id уже существуют, чтобы ничего не делать. Сам код выполняется, но я все еще вставляю дубликаты электронных писем и имен пользователей. Кажется, что ON CONFLICT ON CONSTRAINT никогда не запускается, даже когда это должно быть. Что не так с моим кодом здесь?