저는 Rails 마이그레이션을 사용하여 데이터베이스 스키마를 관리하고 있으며 정수가 아닌 값을 기본 키 (특히 문자열)로 사용하려는 간단한 테이블을 만들고 있습니다. 내 문제를 추상화하기 위해 employees
직원이 영숫자 문자열로 식별되는 테이블이 있다고 가정 해 보겠습니다 "134SNW"
.
다음과 같은 마이그레이션에서 테이블을 만들려고했습니다.
create_table :employees, {:primary_key => :emp_id} do |t|
t.string :emp_id
t.string :first_name
t.string :last_name
end
이것이 나에게주는 것은 라인을 완전히 무시하고 t.string :emp_id
정수 열로 만든 것처럼 보입니다 . execute
호출 에서 SQL을 작성하지 않고도 레일이 PRIMARY_KEY 제약 조건 (PostgreSQL을 사용하고 있음)을 생성하도록하는 다른 방법이 있습니까?
참고 : 문자열 열을 기본 키로 사용하는 것이 최선이 아니라는 것을 알고 있으므로 정수 기본 키를 추가하라는 대답은하지 마십시오. 어쨌든 하나를 추가 할 수 있지만이 질문은 여전히 유효합니다.