Support custom primary key