I'm sure the answer to this is on here somewhere, but I can't find it. I am spending ever-incresing amounts of £s in John Lewis who do not take Amex

as we all know. I would like to earn some miles for this. Does anyone know of a UK credit card that earns BA miles other than Amex?