Isambard
(Isambard)
1
가져오기 스크립트(최소 CSV 스크립트)에서 사용자 ID에 접두사를 추가할 수 있는 옵션을 확인했습니다. 이는 기존 사용자 ID와 충돌을 방지하기 위한 것으로 보입니다.
현재 Discourse에 500명의 사용자가 있고 CSV 스크립트를 통해 1,000명의 사용자를 가져오려 한다고 가정해 보겠습니다. 가져오기 스크립트에 접두사 '1’을 사용하여 새 사용자의 ID가 1000에서 2000이 되도록 설정했다고 가정해 보겠습니다.
그렇다면 자연스러운 가입자가 ID 1000에 도달하면 어떻게 되나요? 이로 인해 문제가 발생합니까, 아니면 소프트웨어가 자동으로 새 사용자를 ID 2001로 추가할까요?
이 문제를 피하기 위해 매우 높은 접두사를 사용해야 하는지 파악하고 있습니다.
pfaffman
(Jay Pfaffman)
2
그건 중요하지 않습니다. 여러 소스에서 가져오면서 충돌이 발생하는 경우에만 문제가 됩니다. 새로운 Discourse 사용자 ID가 할당되므로, 그건 문제가 되지 않습니다.
Isambard
(Isambard)
3
사용자 테이블을 살펴보니 다음과 같은 구조를 확인했습니다:
id | integer | | not null | nextval('users_id_seq'::regclass)
따라서 가져오기(import) 스크립트가 시퀀스를 따르지 않거나 시퀀스를 더 높은 값으로 초기화하지 않는 경우, 중복 키가 발생하여 실패할 수 있다고 생각합니다.
사용하시는 가져오기 스크립트가 시퀀스를 준수하고 데이터베이스에 ‘맹목적으로’ 삽입하지 않기를 바랍니다.
pfaffman
(Jay Pfaffman)
4
가져온 사용자에게는 새로운 Discourse ID가 할당됩니다. CSV 파일에 포함된 ID는 사용자 커스텀 필드에 저장되지만, Discourse의 user_id와는 아무런 관련이 없습니다.