테이블에서 delete_all을하고 다시 삽입하기 시작할 때 기본 키가 증가하는 방식에 문제가 있습니다. 제거 된 테이블과 연관된 다른 모델이 있기 때문에 문제가됩니다. 예를 들어, 컴퓨터가 belongs_to 컴퓨터 인 경우, 컴퓨터 테이블을 삭제하고 컴퓨터를 다시 추가하면 Apple에 현재 컴퓨터의 행에 유아 computer_id가 있으므로 연결이 엉망이됩니다. 컴퓨터의 기본 키를 재설정하여 컴퓨터를 다시 추가 할 때 연결이 그대로 유지되도록하고 싶습니다. 레일에서 어떻게해야합니까?레일에서 프라이 머리 키 아이디를 재설정합니다.
편집 매우 분명히 밝히지 않아서 유감이지만 지금은하고 싶다고 말합니다. 사용자가 컴퓨터 (컴퓨터)와 연결되기를 원합니다. 컴퓨터는 자신의 ID를 가지고 있으며 관리자 만 생성 할 수 있습니다. 컴퓨터 테이블에는 고정 된 양의 컴퓨터가 있습니다.
User
belongs_to :computer
Computer
has_many :users
내가 직면하고있는 문제는 컴퓨터 테이블이 seeds.rb/rakefile 내에 미리로드되어 있다는 것입니다. 내 애플 리케이션을 시작할 때, 나는 모든 것을 먼저 삭제 한 다음 테이블을 프리로드하는 파일을 실행하기를 원한다. 이렇게하면 사용자가 컴퓨터 테이블에 제공된 컴퓨터 중 하나만 선택할 수 있습니다. 나는이 스크립트를 다시 실행할 수 있기를 원하고 (즉, heroku 콘솔에서 User 테이블을 삭제하지 않고) 각 컴퓨터 (그리고 각 사용자에게)와 연관된 동일한 ID를 여전히 얻고 싶습니다. 나는 이것을 어떻게해야하는지 혼란 스럽다. 이 일을 다르게해야하는지 알려주세요.
이런 종류의 데이터를 씨앗이나 비품 등으로 적재해서는 안됩니다. 그것은 일부 관리 인터페이스를 통해 유지되어야합니다. 두 개의 기본 키를 사용하지 마십시오. 큰 혼란에 빠지게 될 것입니다. – klew
아마도 당신은 무엇을하고 있으며 왜하고 싶은지 설명하려고 시도 할 수 있습니다. – klew
나는 나의 대답을 편집했다 – klew