사용자 가져오기

가져오기 스크립트(최소 CSV 스크립트)에서 사용자 ID에 접두사를 추가할 수 있는 옵션을 확인했습니다. 이는 기존 사용자 ID와 충돌을 방지하기 위한 것으로 보입니다.

현재 Discourse에 500명의 사용자가 있고 CSV 스크립트를 통해 1,000명의 사용자를 가져오려 한다고 가정해 보겠습니다. 가져오기 스크립트에 접두사 '1’을 사용하여 새 사용자의 ID가 1000에서 2000이 되도록 설정했다고 가정해 보겠습니다.

그렇다면 자연스러운 가입자가 ID 1000에 도달하면 어떻게 되나요? 이로 인해 문제가 발생합니까, 아니면 소프트웨어가 자동으로 새 사용자를 ID 2001로 추가할까요?

이 문제를 피하기 위해 매우 높은 접두사를 사용해야 하는지 파악하고 있습니다.

그건 중요하지 않습니다. 여러 소스에서 가져오면서 충돌이 발생하는 경우에만 문제가 됩니다. 새로운 Discourse 사용자 ID가 할당되므로, 그건 문제가 되지 않습니다.

사용자 테이블을 살펴보니 다음과 같은 구조를 확인했습니다:

id | integer | | not null | nextval('users_id_seq'::regclass)

따라서 가져오기(import) 스크립트가 시퀀스를 따르지 않거나 시퀀스를 더 높은 값으로 초기화하지 않는 경우, 중복 키가 발생하여 실패할 수 있다고 생각합니다.

사용하시는 가져오기 스크립트가 시퀀스를 준수하고 데이터베이스에 ‘맹목적으로’ 삽입하지 않기를 바랍니다.

가져온 사용자에게는 새로운 Discourse ID가 할당됩니다. CSV 파일에 포함된 ID는 사용자 커스텀 필드에 저장되지만, Discourse의 user_id와는 아무런 관련이 없습니다.