replace upsert with conflict