# 그룹 가입 시 사용자를 TL2로 승격하는 것 - 사후 처리 가능?

**URL:** https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249
**Category:** Support
**Created:** [2월 25, 2023, 5:23오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249 "2023-02-25T17:23:49Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [2월 25, 2023, 5:23오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/1 "2023-02-25T17:23:49Z")

</div>

기존 그룹을 수정하여 `멤버가 추가될 때 자동으로 부여되는 신뢰 수준` 값을 2로 설정했습니다. 이 그룹에 추가되는 모든 멤버가 신뢰 수준 2로 업그레이드되도록 하려는 것이죠:

 ![Screenshot 2023-02-25 at 17.15.17](https://global.discourse-cdn.com/meta/original/4X/f/f/3/ff30452e6a4ef9134d9ef025d46eef22ea36b283.png)

하지만 기존 그룹 멤버들이 모두 신뢰 수준 2로 사후 적용되지 않습니다 😕

이를 강제할 수 있는 방법이 있을까요?

아니면 그룹의 모든 멤버를 사후에 신뢰 수준 2로 업그레이드하는 방법이 있을까요? 🤔

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2월 25, 2023, 5:38오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/2 "2023-02-25T17:38:15Z")

</div>

⚠ 이 솔루션은 고급 수준입니다. Rails 명령은 서버에 대한 SSH 접근 권한이 있을 때만 실행할 수 있으며, 자신이 하는 일에 대해 확신이 없다면 피해야 합니다. 어떤 경우든 **반드시** 먼저 백업을 수행하세요.

* * *

Richie님, 안녕하세요 🙂

다음과 유사한 rails 스크립트를 사용할 수 있습니다:

rails 콘솔에서 이렇게 하면 됩니다:

```ruby
target_group = Group.find_by_name("test")
users = User.joins(:group_users).where(group_users:{group_id: target_group.id})
users.each do |u|
  u.trust_level = 2
  u.save
end

```

[Delete all users not in a specific group - #2 by nathank](https://meta.discourse.org/t/delete-all-users-not-in-a-specific-group/198804/2?u=canapin) 을 알려주신 @nathank님께 감사드립니다 🙂

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [2월 25, 2023, 7:51오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/3 "2023-02-25T19:51:11Z")

</div>

Canapin님 감사합니다

rails 콘솔에 대해 전혀 익숙하지 않지만, 여기에 올려주신 내용을 실행해 보니 지금은 `END`에 멈춰서 커서가 깜빡이고 있습니다:

 ![Screenshot 2023-02-25 at 19.49.33](https://global.discourse-cdn.com/meta/original/4X/6/5/6/6563db70bdca86407aa87929c6ccb6e4cb4b2e98.jpeg)

이 변경 사항을 어떻게 커밋해야 하나요? 🤔

_(아직 TL2로 승급되지 않았습니다)_

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2월 25, 2023, 7:57오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/4 "2023-02-25T19:57:36Z")

</div>

> [@Richie](#):
>
> 이 변경 사항을 어떻게든 커밋해야 하나요? 🤔

아니요, 그것은 스크립트 실행에 영향을 미치지 않는 출력일 뿐입니다. q 키를 눌러 나가는 것이 가능할 것입니다.

또는 이것을 사용할 수도 있습니다:  
[https://stackoverflow.com/a/4678777](https://stackoverflow.com/a/4678777)

> [@Richie](#):
>
> (그들을 TL2로 승급하지 않았습니다)

`Group.find_by_name("test")` 부분과 관련이 있을 수 있습니다. 실제 그룹 이름인지, 슬러그(slug)를 받는지는 모르겠습니다. 🤷

* * *

또한, rails 명령을 사용하는 것은 상당히 고급 수준이며, 이러한 작업을 수행하기 전에 백업을 만들어야 한다는 점을 언급했어야 했습니다. 죄송합니다.

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [2월 25, 2023, 8:00오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/7 "2023-02-25T20:00:59Z")

</div>

> [@Richie](#):
>
> _(그들을 TL2로 승급하지 않았습니다)_

음, 이상한 일이 발생했습니다.

이 rails 스크립트를 실행하기 전에 TL1이었던 사용자를 확인해 보면, 이제 TL2로 변경되어 있습니다 (정말 감사합니다!).

 ![Screenshot 2023-02-25 at 19.59.16](https://global.discourse-cdn.com/meta/original/4X/c/0/4/c04f42b417539b636c9e9ed161fdce8fc6051f88.png)

하지만, TL2 사용자 그룹을 보면 그룹 내 총 사용자 수가 증가하지 않았습니다 🤔

마찬가지로, 방금 TL2로 승급된 사용자 중 한 명을 검색하면, TL2 그룹의 검색 결과에 나타나지 않습니다:

 ![Screenshot 2023-02-25 at 19.59.39](https://global.discourse-cdn.com/meta/original/4X/0/e/e/0eef59b7fa1cd7935e86b10677c27a617fcbc141.png)

🤔

또한, 해당 사용자는 TL2 배지를 획득하지 못했습니다:

 ![Screenshot 2023-02-25 at 20.01.35](https://global.discourse-cdn.com/meta/original/4X/d/b/d/dbda6fc793efe6ba604494a7f366bd363e637302.png)

🤔

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2월 25, 2023, 8:03오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/10 "2023-02-25T20:03:31Z")

</div>

그룹은 Sidekiq 작업 중에 업데이트됩니다.

해당 작업은 **EnsureDbConsistency** 이며, Sidekiq를 통해 트리거할 수 있습니다(방법을 알고 있다면). 몇 시간만 기다려도 그룹이 자동으로 업데이트됩니다. 🙂

여기서 방법을 찾았습니다:

> [@How do I promote all users to trust level 1?](https://meta.discourse.org/t/how-do-i-promote-all-users-to-trust-level-1/99663/7?u=canapin):
>
> I figured it out. The sidekiq task which triggers the trust level groups population is EnsureDbConsistency. After updating users trust levels from command line (either gaining or losing trust levels), EnsureDbConsistency will move users in and out from these groups.

🙂

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [2월 25, 2023, 8:05오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/12 "2023-02-25T20:05:23Z")

</div>

정말 훌륭해요, 감사합니다!

본인이 해결될 때까지 인내심을 갖고 기다릴게요 😊

@Canapin 님, 시간 내주셔서 감사합니다 - 그리고 그 해결책 덕분에 - 이걸 수동으로 하느라 쓸데없이 낭비할 시간을 엄청나게 절약해 주셨어요 😱

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2월 25, 2023, 8:06오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/13 "2023-02-25T20:06:18Z")

</div>

천만에요.

우리가 정확히 무엇을 하고 있는지 모르면 문제가 생길 수 있으므로, 적절한 경고 없이 rails 명령어를 너무 서둘러 제안한 것 같습니다. 제 게시물에 좀 더 눈에 띄는 경고를 추가할게요 🙂

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [2월 25, 2023, 9:45오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/16 "2023-02-25T21:45:05Z")

</div>

이 레일스 태스크가 모든 TL4와 TL3 사용자를 TL2로 강등시킨 것 같습니다 🤔

**EnsureDbConsistency** 태스크가 밤사이 자동으로 모두 수정해 주기를 바랍니다 😊

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [2월 25, 2023, 9:49오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/17 "2023-02-25T21:49:57Z")

</div>

그렇습니다. TL3 사용자는 여전히 기준을 충족하는 경우 재승진됩니다.

TL4는 수동으로 승진 처리해야 합니다.

이를 피하려면 각 사용자를 해당 문장으로 평가하여 현재 TL2 미만인 경우에만 승진 처리해야 합니다.

TL4 사용자가 특정 그룹의 멤버이기도 한 경우, 이를 활용해 일괄 승진 처리할 수 있습니다.

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [2월 25, 2023, 9:56오후 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/18 "2023-02-25T21:56:38Z")

</div>

> [@Stephen](#):
>
> TL4는 수동으로 승격되어야 합니다.

좋은 정보 감사합니다, @Stephen. 지금 바로 처리하겠습니다 🙂

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [2월 26, 2023, 6:28오전 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/19 "2023-02-26T06:28:55Z")

</div>

오늘 아침에는 모든 게 순조로워 보여요 😊

다시 한번 @Canapin님과 @Stephen님께 감사드립니다 👋

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [3월 28, 2023, 6:29오전 UTC](https://meta.discourse.org/t/promoting-users-to-tl2-when-joining-a-group-retrospectively/256249/20 "2023-03-28T06:29:11Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
