Fix non-unique assignmentId issue

AMT will sometimes give assignments that have been released to a new worker using the same assignment id.
This turns the assignmentId field in the database into a unique key that combines assignment and worker id to avoid duplicate entry errors.