투표 중복 제거 관련 마이그레이션 문제

여러 표를 허용하는 우리의 투표에서 최근 중복 제거가 된 문제를 발견했습니다. 다른 포럼 사이트에서도 동일한 문제가 발생했습니다. 이 최근 마이그레이션을 잠시 살펴봤는데, 모든 투표의 중복을 제거한 것으로 보입니다:

class DeleteDuplicatePollVotes < ActiveRecord::Migration[7.0]
  def up
    execute <<~SQL
      DELETE FROM poll_votes
      WHERE (poll_id, user_id, updated_at) NOT IN (
        SELECT poll_id, user_id, MAX(updated_at)
        FROM poll_votes
        GROUP BY poll_id, user_id
      )
    SQL
  end

  def down
    raise ActiveRecord::IrreversibleMigration
  end
end

내일 더 자세히 조사해 보겠습니다(여기서는 밤이 늦었습니다). 하지만 SQL이 모든 중복을 지우는 것으로 꽤 명확해 보여서 참고용으로 남겨 둡니다. 제 도커 앱에 해당 마이그레이션 파일이 있는지 확인했는데, 실행되었을 것으로 추정됩니다. 이 문제에 대한 다른 의견들을 듣고 싶습니다.

업데이트

마지막으로 3.1.0.beta5로 업데이트하기 전에 생성된 다중 투표가 없음을 확인했습니다. 이는 다중 투표가 업데이트로 인해 지워졌을 가능성이 높다는 것을 의미합니다. 아래 쿼리를 실행하여 다중 투표를 직접 확인해 볼 수 있습니다.

# discourse 앱 진입
sudo ./launcher enter app

# postgres 콘솔 진입
sudo -u postgres psql discourse

생성일 기준으로 정렬된 다중 투표 조회 쿼리:

SELECT poll_id, user_id, created_at
FROM poll_votes
WHERE (poll_id, user_id, created_at) NOT IN (
  SELECT poll_id, user_id, MAX(created_at)
  FROM poll_votes
  GROUP BY poll_id, user_id
)
ORDER BY created_at;

가장 오래된 created_at 값이 마지막으로 업데이트한 시점 이후에 발생했음을 확인하실 수 있을 것입니다.

참고 - 이 마이그레이션 파일이 있어서는 안 되나요?

이 마이그레이션 파일이 제 환경에 있는 것이 조금 혼란스럽습니다… 이 파일은 beta5 이후에 커밋된 것으로 보이는데, 제가 어떻게 이 파일을 가지고 있는 걸까요?

postgres의 schema_migrations_details 테이블을 확인하여 마이그레이션이 실행되었음을 확인했습니다:

SELECT name, created_at 
FROM schema_migration_details 
WHERE name = 'DeleteDuplicatePollVotes';

결론적으로, 여기 버그가 있으며 다른 사용자가 업그레이드하기 전에 해당 마이그레이션 파일을 제거해야 한다는 것에 매우 확신을 갖게 되었습니다. 저는 rails나 discourse에 대해 경험이 많지 않아 문제를 해결하는 방법이나 과거의 투표를 복구할 수 있는지 확실하지 않지만, 해당 투표를 잃은 사용자들에게는 다소 아쉬운 상황이 되었습니다.

4개의 좋아요

안녕하세요 @sweetbeems, 보고해 주셔서 감사합니다.

실제로 해당 마이그레이션에 큰 문제가 있었습니다. 수정 사항이 방금 병합되었습니다 말씀하신 대로 일부 데이터가 삭제되었을 것입니다. :face_exhaling: 해당 마이그레이션을 작성한 저로서는 Post.where(type: "multiple")(즉, 여러 표을 허용하는 투표)를 전혀 고려하지 못했다는 점을 인정합니다.

백업에서 잃어버린 투표 데이터를 복구할 수 있도록 rake 태스크나 스크립트를 만들 수 있는지 확인해 보겠습니다.

6개의 좋아요

@nat님, 정말 감사합니다!

혹시 그 rake 스크립트를 작성해 주신다면, 제 사이트의 많은 사용자분들이 정말 기뻐할 거예요. 저희 사이트의 투표 대부분이 다중 투표 방식이라, 과거 투표 결과에 완전히 변화가 생겼거든요 :sweat_smile:.

3개의 좋아요

안녕하세요 @nat - 궁금한 게 있어서요. 언젠가 백필을 만들 계획이 있을까요? 아니면 당장 계획에 없으신 건가요? 감사합니다.

1개의 좋아요

@sweetbeems 데이터 복구에 도움이 될 예비 명령어 세트를 준비했습니다. 제 사이트에서 테스트를 마쳤습니다.

여기서는 도커(docker) 설치를 사용 중이며 명령줄에 어느 정도 익숙하다고 가정하고 있습니다.

<site>/admin/backups에서 백업 파일을 찾아야 합니다. 데이터가 삭제되기 전에 수행된 백업이어야 합니다.

이 가이드는 백업에 업로드 파일이 포함돼 있다고 가정합니다. 차이는 백업 파일이 .tar.gz(데이터 + 업로드)인지, 아니면 .sql.gz(데이터만)인지에 있습니다.

# 기본 사용자로 앱 진입
docker exec -it app bash

# 원하는 백업 파일이 있는지 확인
ls /var/www/discourse/public/backups/default/

# 압축된 백업에서 dump.sql 파일 추출
cd /var/www/discourse/public/backups
mkdir site-backup-to-restore
tar xfz ./default/=SITE_BACKUP_FILENAME= -C site-backup-to-restore/
cd site-backup-to-restore
gunzip dump.sql.gz

# 데이터 가져오기
# 여기서는 투표(poll votes) 데이터 시작 위치를 찾습니다
# 데이터의 끝(빈 줄)까지입니다
start=$(grep -n "COPY public.poll_votes (poll_id, poll_option_id, user_id, created_at, updated_at) FROM stdin;" dump.sql | sed  's/\([0-9]*\).*/\1/')
end=$(tail -n +$start dump.sql | grep -m 1 -n ^$ | sed  's/\([0-9]*\).*/\1/')
end=$((end-2))
tail -n +$start dump.sql | head -n $end > poll_votes_dump.sql

# 여기서 poll_votes_dump.sql 파일을 눈으로 확인해야 합니다
cat poll_votes_dump.sql

# ON CONFLICT을 추가할 수 있도록
# COPY를 INSERT로 변경합니다
sed -i 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\} [0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}\.[0-9]\{6\}/'\''&'\''/g' poll_votes_dump.sql
sed -i '2,$s/\t/,/g' poll_votes_dump.sql
sed -i '2,$s/^/(/; 2,$s/$/),/' poll_votes_dump.sql
sed -i '$ s/,$//' poll_votes_dump.sql
sed -i 's/COPY public.poll_votes (poll_id, poll_option_id, user_id, created_at, updated_at) FROM stdin;/INSERT INTO public.poll_votes (poll_id, poll_option_id, user_id, created_at, updated_at)\nVALUES/' poll_votes_dump.sql
echo "ON CONFLICT DO NOTHING;" >> poll_votes_dump.sql
cat poll_votes_dump.sql
`cat` 명령어의 결과가 다음과 같이 보여야 합니다

첫 번째는 다음과 같이 보여야 합니다

COPY public.poll_votes (poll_id, poll_option_id, user_id, created_at, updated_at) FROM stdin;
1       1       1       2023-07-04 05:49:17.031031      2023-07-04 05:49:17.031031
1       4       1       2023-07-04 05:54:01.281801      2023-07-04 05:54:01.281801

두 번째는 다음과 같이 보여야 합니다

INSERT INTO public.poll_votes (poll_id, poll_option_id, user_id, created_at, updated_at)
VALUES
(1,1,1,'2023-07-04 05:49:17.031031','2023-07-04 05:49:17.031031'),
(1,4,1,'2023-07-04 05:54:01.281801','2023-07-04 05:54:01.281801')
ON CONFLICT DO NOTHING;

도커 인스턴스에서 빠져나와 postgres 사용자로 진입합니다 – 여기서 다루지 않을 더 깊은 문제가 있어 이 추가 단계가 필요합니다

# 호스트에서 postgres 사용자로 앱 접근
docker exec --user postgres -it app bash

# 삽입(insert)
psql -U postgres -d discourse -f /var/www/discourse/public/backups/site-backup-to-restore/poll_votes_dump.sql

# `INSERT 0 3928` 또는 복원된 투표 수를 확인해야 합니다
4개의 좋아요

hey @nat - 방금 깨달은 건데, 업데이트를 안 해드렸네요. 말씀해 주신 마이그레이션을 진행했는데, 아주 잘 되었고 감사합니다!! 정말 감사드립니다 :slight_smile:

만난 유일한 문제는 덤프를 insert 문으로 변환하는 단계였습니다. 이유를 알 수 없지만, 일부 날짜 주위에 문자열 마커(')가 붙지 않았습니다. sed 명령문에 작은 버그가 있었던 것 같지만, 제 sed 지식은… 매우 제한적이거든요.

어쨌든, 수동으로 빠르게 수정해서 완벽하게 작동했습니다!

2개의 좋아요

업데이트 감사합니다. 잘 해결되어서 기쁩니다.

아.. 그 점에 대해 죄송합니다. 상상이 되시겠지만, 제가 가진 날짜 문자열은 손에 꼽을 정도였고, 솔직히 왜 레코드마다 날짜 형식이 다른지 저도 잘 모르겠습니다. :thinking:

혹시 그 날짜가 어떤 것인지 기억하시나요? (기억이 나지 않으셔도 괜찮습니다)

3개의 좋아요

다시 살펴보니, 초의 소수점 자릿수를 6자리로 가정하신 것 같네요. 여기 제 잘못된 데이터 전체를 올려두었는데, 모두 소수점이 6자리 미만인 것 같습니다:

잘못된 행
INSERT INTO public.poll_votes (poll_id, poll_option_id, user_id, created_at, updated_at)
VALUES
(110,501,54,2023-01-17 08:07:13.09231,2023-01-17 08:07:13.09231),
(8,24,502,2022-06-23 19:09:54.01825,2022-06-23 19:09:54.01825),
(15,40,30,2022-06-24 03:38:58.16703,2022-06-24 03:38:58.16703),
(15,40,222,2022-06-24 21:11:39.76273,2022-06-24 21:11:39.76273),
(15,39,411,2022-06-26 21:32:31.26611,2022-06-26 21:32:31.26611),
(19,49,58,2022-06-27 01:44:29.70736,2022-06-27 01:44:29.70736),
(15,39,241,2022-07-01 14:27:59.6967,2022-07-01 14:27:59.6967),
(32,74,49,2022-07-09 17:29:10.65377,2022-07-09 17:29:10.65377),
(32,74,82,2022-07-09 19:14:00.5514,2022-07-09 19:14:00.5514),
(32,75,11,2022-07-09 22:41:14.95369,2022-07-09 22:41:14.95369),
(35,87,43,2022-07-13 00:29:29.70338,2022-07-13 00:29:29.70338),
(35,87,9,2022-07-13 01:09:07.43221,2022-07-13 01:09:07.43221),
(35,85,37,2022-07-13 04:47:24.1375,2022-07-13 04:47:24.1375),
(35,88,127,2022-07-13 21:50:52.19039,2022-07-13 21:50:52.19039),
(37,91,18,2022-07-17 13:38:45.12448,2022-07-17 13:38:45.12448),
(39,120,30,2022-07-21 05:16:23.22116,2022-07-21 05:16:23.22116),
(39,122,82,2022-07-21 11:27:14.96521,2022-07-21 11:27:14.96521),
(39,112,54,2022-07-21 15:57:17.56429,2022-07-21 15:57:17.56429),
(39,116,14,2022-07-21 18:45:04.31259,2022-07-21 18:45:04.31259),
(39,127,14,2022-07-21 18:45:04.31369,2022-07-21 18:45:04.31369),
(39,122,125,2022-07-21 23:50:35.2962,2022-07-21 23:50:35.2962),
(39,116,771,2022-07-22 07:12:12.63778,2022-07-22 07:12:12.63778),
(39,130,494,2022-07-26 09:27:45.32077,2022-07-26 09:27:45.32077),
(39,124,62,2022-07-26 12:30:12.46385,2022-07-26 12:30:12.46385),
(45,155,67,2022-08-04 08:41:49.96341,2022-08-04 08:41:49.96341),
(46,161,82,2022-08-05 11:47:12.31443,2022-08-05 11:47:12.31443),
(46,161,35,2022-08-06 13:18:00.99911,2022-08-06 13:18:00.99911),
(48,164,54,2022-08-08 21:56:14.14143,2022-08-08 21:56:14.14143),
(47,163,54,2022-08-08 21:57:04.54601,2022-08-08 21:57:04.54601),
(49,166,82,2022-08-13 00:30:34.97762,2022-08-13 00:30:34.97762),
(49,167,51,2022-08-14 05:22:23.57594,2022-08-14 05:22:23.57594),
(49,167,14,2022-08-14 07:35:27.97993,2022-08-14 07:35:27.97993),
(49,166,75,2022-08-19 22:19:38.2656,2022-08-19 22:19:38.2656),
(51,173,76,2022-08-22 17:54:17.34982,2022-08-22 17:54:17.34982),
(52,181,54,2022-08-23 15:37:38.47042,2022-08-23 15:37:38.47042),
(51,174,30,2022-08-28 03:02:15.34373,2022-08-28 03:02:15.34373),
(53,182,577,2022-08-29 10:02:30.50115,2022-08-29 10:02:30.50115),
(57,208,8,2022-09-02 20:29:40.12981,2022-09-02 20:29:40.12981),
(57,209,9,2022-09-03 02:50:22.35697,2022-09-03 02:50:22.35697),
(60,217,8,2022-09-04 13:02:46.92852,2022-09-04 13:02:46.92852),
(60,216,577,2022-09-04 13:34:07.45246,2022-09-04 13:34:07.45246),
(60,217,105,2022-09-04 22:49:24.39502,2022-09-04 22:49:24.39502),
(60,216,411,2022-09-04 22:53:34.70586,2022-09-04 22:53:34.70586),
(61,219,30,2022-09-07 05:05:01.82435,2022-09-07 05:05:01.82435),
(61,223,18,2022-09-09 11:44:43.2807,2022-09-09 11:44:43.2807),
(60,216,1033,2022-09-15 13:37:12.0177,2022-09-15 13:37:12.0177),
(60,216,959,2022-09-15 18:52:10.34721,2022-09-15 18:52:10.34721),
(66,240,411,2022-09-17 22:19:12.0275,2022-09-17 22:19:12.0275),
(66,240,37,2022-09-19 09:33:41.28032,2022-09-19 09:33:41.28032),
(67,249,9,2022-09-19 12:21:47.25329,2022-09-19 12:21:47.25329),
(67,247,37,2022-09-20 12:52:21.50543,2022-09-20 12:52:21.50543),
(68,250,54,2022-09-20 15:01:45.95643,2022-09-20 15:01:45.95643),
(68,251,577,2022-09-21 10:40:56.42414,2022-09-21 10:40:56.42414),
(61,220,5,2022-09-22 01:08:33.95198,2022-09-22 01:08:33.95198),
(69,257,92,2022-09-26 05:18:16.92423,2022-09-26 05:18:16.92423),
(70,267,54,2022-09-26 09:08:28.10639,2022-09-26 09:08:28.10639),
(71,268,9,2022-09-28 03:18:03.1252,2022-09-28 03:18:03.1252),
(69,257,30,2022-09-28 04:43:16.49851,2022-09-28 04:43:16.49851),
(72,273,30,2022-10-05 20:56:44.74037,2022-10-05 20:56:44.74037),
(73,283,104,2022-10-10 07:54:50.91248,2022-10-10 07:54:50.91248),
(73,278,54,2022-10-10 08:51:23.83813,2022-10-10 08:51:23.83813),
(73,292,82,2022-10-10 12:19:52.31188,2022-10-10 12:19:52.31188),
(73,279,351,2022-10-10 13:18:39.72019,2022-10-10 13:18:39.72019),
(73,288,661,2022-10-10 16:38:10.11372,2022-10-10 16:38:10.11372),
(73,289,661,2022-10-10 16:38:10.11469,2022-10-10 16:38:10.11469),
(73,279,127,2022-10-12 11:00:33.12802,2022-10-12 11:00:33.12802),
(75,301,82,2022-10-12 19:03:33.58176,2022-10-12 19:03:33.58176),
(75,302,104,2022-10-12 19:57:29.9634,2022-10-12 19:57:29.9634),
(76,306,82,2022-10-15 13:10:32.84764,2022-10-15 13:10:32.84764),
(73,285,125,2022-10-16 19:52:57.65115,2022-10-16 19:52:57.65115),
(77,308,30,2022-10-16 20:48:14.6183,2022-10-16 20:48:14.6183),
(77,308,18,2022-10-16 23:04:30.89369,2022-10-16 23:04:30.89369),
(79,313,92,2022-10-19 05:17:21.06009,2022-10-19 05:17:21.06009),
(60,217,425,2022-10-19 10:52:06.17367,2022-10-19 10:52:06.17367),
(60,216,1358,2022-10-20 14:50:25.09089,2022-10-20 14:50:25.09089),
(60,216,1363,2022-10-21 07:47:08.79396,2022-10-21 07:47:08.79396),
(84,329,43,2022-10-30 16:01:20.68959,2022-10-30 16:01:20.68959),
(84,329,18,2022-10-30 16:30:59.49903,2022-10-30 16:30:59.49903),
(85,340,51,2022-10-30 21:40:28.30536,2022-10-30 21:40:28.30536),
(84,328,51,2022-10-30 23:17:48.62015,2022-10-30 23:17:48.62015),
(84,330,127,2022-10-31 00:03:10.54385,2022-10-31 00:03:10.54385),
(86,343,928,2022-10-31 08:32:06.81807,2022-10-31 08:32:06.81807),
(86,343,384,2022-10-31 10:59:18.72836,2022-10-31 10:59:18.72836),
(87,346,928,2022-11-07 13:47:25.68637,2022-11-07 13:47:25.68637),
(88,349,92,2022-11-07 14:38:15.06785,2022-11-07 14:38:15.06785),
(88,351,928,2022-11-08 15:26:06.92257,2022-11-08 15:26:06.92257),
(89,354,75,2022-11-09 20:57:46.85531,2022-11-09 20:57:46.85531),
(93,371,76,2022-11-21 09:43:29.16922,2022-11-21 09:43:29.16922),
(93,370,543,2022-11-21 21:23:21.04009,2022-11-21 21:23:21.04009),
(94,373,948,2022-11-28 18:11:42.61035,2022-11-28 18:11:42.61035),
(94,373,54,2022-11-29 07:15:21.09078,2022-11-29 07:15:21.09078),
(97,394,82,2022-12-12 13:46:46.06457,2022-12-12 13:46:46.06457),
(84,330,772,2022-12-13 03:04:26.20321,2022-12-13 03:04:26.20321),
(98,397,661,2022-12-15 19:37:02.36834,2022-12-15 19:37:02.36834),
(98,397,127,2022-12-16 00:59:19.5534,2022-12-16 00:59:19.5534),
(98,398,76,2022-12-16 12:46:17.11838,2022-12-16 12:46:17.11838),
(97,394,928,2022-12-18 13:38:01.11894,2022-12-18 13:38:01.11894),
(99,400,661,2022-12-19 18:15:35.83366,2022-12-19 18:15:35.83366),
(100,436,8,2022-12-21 12:42:55.98193,2022-12-21 12:42:55.98193),
(100,437,30,2022-12-21 14:32:21.01328,2022-12-21 14:32:21.01328),
(101,442,127,2022-12-22 12:34:49.31806,2022-12-22 12:34:49.31806),
(101,443,9,2022-12-22 23:24:09.08744,2022-12-22 23:24:09.08744),
(102,453,92,2022-12-25 08:42:02.29173,2022-12-25 08:42:02.29173),
(102,454,75,2022-12-25 09:25:48.1103,2022-12-25 09:25:48.1103),
(102,453,54,2022-12-25 16:23:26.87095,2022-12-25 16:23:26.87095),
(102,451,82,2022-12-25 23:27:21.92964,2022-12-25 23:27:21.92964),
(103,458,661,2022-12-26 19:45:24.7954,2022-12-26 19:45:24.7954),
(106,469,30,2023-01-05 06:16:00.67561,2023-01-05 06:16:00.67561),
(106,470,76,2023-01-05 08:38:41.19777,2023-01-05 08:38:41.19777),
(96,392,52,2023-01-07 19:58:12.33829,2023-01-07 19:58:12.33829),
(107,478,92,2023-01-09 06:10:43.89593,2023-01-09 06:10:43.89593),
(107,488,948,2023-01-09 06:23:32.7513,2023-01-09 06:23:32.7513),
(107,479,76,2023-01-09 17:36:25.65736,2023-01-09 17:36:25.65736),
(108,496,54,2023-01-11 07:09:43.02946,2023-01-11 07:09:43.02946),
(102,455,20,2023-01-11 14:00:02.7016,2023-01-11 14:00:02.7016),
(108,495,661,2023-01-11 17:19:29.8957,2023-01-11 17:19:29.8957),
(110,501,82,2023-01-16 12:51:31.18923,2023-01-16 12:51:31.18923),
(109,498,5,2023-01-22 12:03:35.72396,2023-01-22 12:03:35.72396),
(116,513,76,2023-02-05 18:43:35.82283,2023-02-05 18:43:35.82283),
(121,532,5,2023-02-10 21:33:16.29764,2023-02-10 21:33:16.29764),
(121,536,5,2023-02-10 21:33:16.29857,2023-02-10 21:33:16.29857),
(121,532,30,2023-02-10 23:35:15.57073,2023-02-10 23:35:15.57073),
(117,516,82,2023-02-13 13:02:36.44077,2023-02-13 13:02:36.44077),
(121,533,1782,2023-02-15 07:30:42.40247,2023-02-15 07:30:42.40247),
(121,531,956,2023-02-17 03:12:52.07589,2023-02-17 03:12:52.07589),
(123,543,9,2023-02-20 15:18:28.30422,2023-02-20 15:18:28.30422),
(124,544,928,2023-02-21 22:29:58.14729,2023-02-21 22:29:58.14729),
(124,545,51,2023-02-21 23:45:29.49985,2023-02-21 23:45:29.49985),
(124,544,1,2023-02-22 00:54:54.75649,2023-02-22 00:54:54.75649),
(125,546,30,2023-02-27 04:49:40.45303,2023-02-27 04:49:40.45303),
(130,561,9,2023-03-14 09:07:21.00302,2023-03-14 09:07:21.00302),
(60,215,1759,2023-03-16 22:20:35.63149,2023-03-16 22:20:35.63149),
(60,217,2332,2023-03-20 00:55:01.75396,2023-03-20 00:55:01.75396),
(133,574,76,2023-04-03 14:14:13.00556,2023-04-03 14:14:13.00556),
(133,581,76,2023-04-03 14:14:13.00753,2023-04-03 14:14:13.00753),
(133,583,771,2023-04-06 11:26:29.85958,2023-04-06 11:26:29.85958),
(84,329,832,2023-04-06 15:37:15.71112,2023-04-06 15:37:15.71112),
(133,570,82,2023-04-06 17:01:40.21826,2023-04-06 17:01:40.21826),
(133,580,82,2023-04-06 17:01:40.22184,2023-04-06 17:01:40.22184),
(84,328,2415,2023-04-07 12:28:24.26717,2023-04-07 12:28:24.26717),
(136,593,928,2023-04-11 08:29:03.77339,2023-04-11 08:29:03.77339),
(137,598,8,2023-04-12 03:54:33.94742,2023-04-12 03:54:33.94742),
(138,601,30,2023-04-13 10:59:08.41804,2023-04-13 10:59:08.41804),
(134,588,54,2023-04-14 10:07:28.10895,2023-04-14 10:07:28.10895),
(135,589,494,2023-04-23 21:08:22.70938,2023-04-23 21:08:22.70938),
(141,614,1757,2023-04-24 12:12:58.19186,2023-04-24 12:12:58.19186),
(141,614,82,2023-04-24 13:27:17.76336,2023-04-24 13:27:17.76336),
(141,614,2395,2023-04-25 09:19:07.9266,2023-04-25 09:19:07.9266),
(141,615,494,2023-04-26 17:53:36.20522,2023-04-26 17:53:36.20522),
(141,615,76,2023-04-27 19:10:23.49874,2023-04-27 19:10:23.49874),
(142,619,51,2023-04-28 18:13:23.2794,2023-04-28 18:13:23.2794),
(142,619,8,2023-04-28 21:12:53.00285,2023-04-28 21:12:53.00285),
(142,618,2623,2023-04-30 12:09:22.47944,2023-04-30 12:09:22.47944),
(147,635,9,2023-05-08 08:06:15.48853,2023-05-08 08:06:15.48853),
(147,636,9,2023-05-08 08:06:15.48992,2023-05-08 08:06:15.48992),
(147,637,1290,2023-05-08 16:43:14.40516,2023-05-08 16:43:14.40516),
(148,638,2101,2023-05-15 08:09:10.41929,2023-05-15 08:09:10.41929),
(149,640,30,2023-05-15 12:53:54.59127,2023-05-15 12:53:54.59127),
(150,643,2623,2023-05-19 14:21:09.25022,2023-05-19 14:21:09.25022),
(153,651,928,2023-05-23 11:56:16.18164,2023-05-23 11:56:16.18164),
(155,657,82,2023-05-31 11:51:49.55158,2023-05-31 11:51:49.55158),
(154,654,36,2023-05-31 19:05:22.05666,2023-05-31 19:05:22.05666),
(155,657,931,2023-06-01 16:57:01.61211,2023-06-01 16:57:01.61211),
(154,653,2536,2023-06-02 09:31:40.07913,2023-06-02 09:31:40.07913),
(153,651,75,2023-06-03 13:13:34.4858,2023-06-03 13:13:34.4858),
(157,664,82,2023-06-04 00:23:04.28684,2023-06-04 00:23:04.28684),
(157,662,9,2023-06-04 00:52:21.13032,2023-06-04 00:52:21.13032),
(156,660,9,2023-06-04 00:52:32.24659,2023-06-04 00:52:32.24659),
(157,663,931,2023-06-04 03:13:55.87343,2023-06-04 03:13:55.87343),
(157,662,2536,2023-06-04 07:42:58.20324,2023-06-04 07:42:58.20324),
(157,662,1514,2023-06-05 20:45:21.96931,2023-06-05 20:45:21.96931),
(159,673,51,2023-06-07 17:14:47.03704,2023-06-07 17:14:47.03704),
(160,676,82,2023-06-07 17:47:04.90143,2023-06-07 17:47:04.90143),
(160,674,30,2023-06-07 18:26:46.82036,2023-06-07 18:26:46.82036),
(162,690,82,2023-06-09 21:32:10.10917,2023-06-09 21:32:10.10917),
(163,694,82,2023-06-09 21:32:30.15343,2023-06-09 21:32:30.15343),
(163,692,1514,2023-06-09 22:17:04.06222,2023-06-09 22:17:04.06222),
(162,685,67,2023-06-10 06:24:28.56428,2023-06-10 06:24:28.56428),
(162,688,2536,2023-06-10 08:46:32.26975,2023-06-10 08:46:32.26975),
(163,693,771,2023-06-10 14:16:21.58241,2023-06-10 14:16:21.58241),
(157,663,771,2023-06-10 14:17:37.84028,2023-06-10 14:17:37.84028),
(157,661,526,2023-06-10 18:47:07.09595,2023-06-10 18:47:07.09595),
(162,685,577,2023-06-11 08:20:02.62867,2023-06-11 08:20:02.62867),
(142,618,1308,2023-06-12 01:47:34.17946,2023-06-12 01:47:34.17946),
(166,702,30,2023-06-12 04:20:36.18735,2023-06-12 04:20:36.18735),
(164,695,54,2023-06-12 06:46:15.29079,2023-06-12 06:46:15.29079),
(167,705,316,2023-06-12 16:39:06.99862,2023-06-12 16:39:06.99862),
(167,705,76,2023-06-12 16:50:50.58035,2023-06-12 16:50:50.58035),
(163,692,35,2023-06-12 20:37:07.78765,2023-06-12 20:37:07.78765),
(170,714,30,2023-06-13 17:21:27.74588,2023-06-13 17:21:27.74588),
(169,713,127,2023-06-14 02:56:03.56288,2023-06-14 02:56:03.56288),
(162,689,661,2023-06-15 22:38:21.78981,2023-06-15 22:38:21.78981),
(172,721,54,2023-06-16 13:32:07.49379,2023-06-16 13:32:07.49379),
(173,725,67,2023-06-16 16:22:05.15942,2023-06-16 16:22:05.15942),
(172,721,771,2023-06-16 21:59:16.12283,2023-06-16 21:59:16.12283),
ON CONFLICT DO NOTHING;
2개의 좋아요

이 주제는 4일 후 자동으로 닫혔습니다. 더 이상 새 답변을 작성할 수 없습니다.