TIL that we can just use a composite primary key.
Fixed collisions that occur because assignmentid was previously assumed unique.