Isambard
(Isambard)
1
インポートスクリプト(少なくともCSVのもの)には、ユーザーIDにプレフィックスを追加するオプションがあることに気づきました。これは、既存のユーザーIDとの競合を避けるためだと思われます。
たとえば、Discourseに現在500人のユーザーがいて、CSVスクリプトで1000人のユーザーをインポートしたいとします。インポートスクリプトにプレフィックス「1」を使用すると、新しいユーザーのIDは1000から2000になります。
有機的なサインアップがユーザーID1000に達した場合、どうなりますか?問題が発生しますか、それともソフトウェアは自動的に新しいユーザーをID2001に追加しますか?
この問題を回避するために非常に高いプレフィックスを設定する必要があるかどうかを検討しています。
pfaffman
(Jay Pfaffman)
2
問題ありません。複数のソースからインポートして競合が発生した場合にのみ問題となります。新しい Discourse ユーザー ID が割り当てられるため、問題ありません。
「いいね!」 2
Isambard
(Isambard)
3
ユーザーのデータベーステーブルを見たところ、以下のようになっていました。
id | integer | | not null | nextval('users_id_seq'::regclass)
したがって、インポートスクリプトがシーケンスに従わないか、シーケンスをリセットしない場合、重複キーが発生して失敗する可能性があると思います。
使用するインポートスクリプトがシーケンスを尊重し、「盲目的に」データベースに挿入しないことを願っています。
pfaffman
(Jay Pfaffman)
4
インポートされたユーザーには、新しいDiscourse IDが割り当てられます。CSV内のIDは、ユーザーカスタムフィールドに保存されますが、Discourseのuser_idとは関係ありません。