# Migration Issue Around De-duping Poll Votes

**URL:** https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653
**Category:** Bug
**Tags:** polls
**Created:** [June 26, 2023, 3:38pm UTC](https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653 "2023-06-26T15:38:25Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![sweetbeems](https://avatars.discourse-cdn.com/v4/letter/s/7c8e57/32.png) [@sweetbeems](https://meta.discourse.org/u/sweetbeems)
#### Post date: [June 26, 2023, 3:38pm UTC](https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653/1 "2023-06-26T15:38:26Z")

</div>

We [noticed an issue](https://forums.learnnatively.com/t/light-novel-book-club-starting-on-june-26/3893/123?u=brandon) where our polls where we allowed multiple votes seemed to dedupe recently and another [forum site](https://community.wanikani.com/t/now-voting-absolute-beginners-book-club-now-reading-the-wolf-of-the-small-forest/34698/1793?u=sweetbeems) also experienced the issue. I briefly took a look at this [recent migration](https://github.com/discourse/discourse/blob/main/plugins/poll/db/migrate/20230614041219_delete_duplicate_poll_votes.rb) and I can’t help but think it deduped all poll votes:

```plaintext
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

```

I’ll do more investigation tomorrow (it’s late here), but since the sql seemed pretty clear to wipe all duplicates, just wanted to note. I did confirm I have that migration file in my docker app, so I’m assuming it ran. Would love second opinions on this.

**UPDATE**

So, I’ve confirmed that there are no multi votes that were created before I last updated to 3.1.0.beta5, indicating that it was most likely the update that wiped the multi-votes. You can check for multi-votes yourself by entering the discourse app and running the query below.

```plaintext
# enter discourse app
sudo ./launcher enter app

# enter postgres console
sudo -u postgres psql discourse

```

Query for multi votes ordered by creation date:

```plaintext
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;

```

You should see that the oldest created\_at occurred after the last time you updated.

> **Aside - Should I not have this migration file?**
>
> I’m a little confused how I have this migration file… it appears to have been [committed](https://github.com/discourse/discourse/commit/fcaefc9f2f671a508ce1de398a726740ee4268b6) after beta5? How would I have this file?
> 
> I did confirm the migration ran by checking the schema\_migrations\_details table in postgres:
> 
> ```plaintext
> SELECT name, created_at 
> FROM schema_migration_details 
> WHERE name = 'DeleteDuplicatePollVotes';
> 
> ```

In conclusion, I’m very confident there’s a bug here and that we should remove that migration file before others upgrade. I’m not very experienced in rails or discourse, so I’m not sure how to resolve the issue or if we could retrieve those past votes, but it’s a been a bit of a bummer for our users who lost those votes.

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [June 27, 2023, 11:01am UTC](https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653/4 "2023-06-27T11:01:19Z")

</div>

Hey @sweetbeems, thanks for your report.

Indeed there was a huge problem with that migration. [A fix is just merged](https://github.com/discourse/discourse/pull/22297), and as you said some data would have been deleted. 😮‍💨 I wrote that migration, I’m going to admit that I hadn’t considered `Post.where(type: "multiple")` at all (basically, polls that allow multiple votes).

I’m looking to see if I can create a rake task or script which can help folks restore the lost poll votes from backup.

---

<div class="post-metadata">

### Author: ![sweetbeems](https://avatars.discourse-cdn.com/v4/letter/s/7c8e57/32.png) [@sweetbeems](https://meta.discourse.org/u/sweetbeems)
#### Post date: [June 27, 2023, 11:41pm UTC](https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653/5 "2023-06-27T23:41:18Z")

</div>

Thanks so much @nat!

If you do write that rake script, it would definitely make a lot of users happy on my site. I’d say almost all our polls are multiple votes, so it’s completely changed past poll results 😅.

---

<div class="post-metadata">

### Author: ![sweetbeems](https://avatars.discourse-cdn.com/v4/letter/s/7c8e57/32.png) [@sweetbeems](https://meta.discourse.org/u/sweetbeems)
#### Post date: [July 4, 2023, 4:04am UTC](https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653/6 "2023-07-04T04:04:04Z")

</div>

Hey @nat - just curious, do you think you’ll create a backfill at some point? Or is it not in the plans at the moment? Thanks.

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [July 4, 2023, 7:47am UTC](https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653/7 "2023-07-04T07:47:57Z")

</div>

@sweetbeems here’s a preliminary set of commands which should help restore your data, and I’ve tested out on my site.

I am making an assumption that you are using our docker install and are somewhat familiar with the command line.

You should identify a backup file from `<site>/admin/backups`. It should be one that was done before the data was deleted.

This guide assumes your backups include uploads. The difference is that the backup file would be `.tar.gz` (data+uploads) vs `.sql.gz` (data only)

```plaintext
# enter the app using the default user
docker exec -it app bash

# identify the backup you want is there
ls /var/www/discourse/public/backups/default/

# extract the dump.sql file from compressed backup
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

# get the data
# this finds the start of the poll votes data
# to the end of the data (which would be an empty line)
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

# here you would want to eyeball poll_votes_dump.sql
cat poll_votes_dump.sql

# change the COPY to an INSERT so that
# we can still add ON CONFLICT
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

```

> **These are what the results of the \`cat\` commands should look like**
>
> The first one should look like this
> 
> ```plaintext
> 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
> 
> ```
> 
> and the second one should look like this
> 
> ```plaintext
> 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;
> 
> ```

Exit out of the docker instance and into the postgres user – There is a deeper problem which I won’t be addressing here which requires this additional hoop jumping

```plaintext
# from your host, access the app via the postgres user
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

# you should see `INSERT 0 3928` or the number of poll votes that were restored

```

---

<div class="post-metadata">

### Author: ![sweetbeems](https://avatars.discourse-cdn.com/v4/letter/s/7c8e57/32.png) [@sweetbeems](https://meta.discourse.org/u/sweetbeems)
#### Post date: [July 13, 2023, 4:20am UTC](https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653/8 "2023-07-13T04:20:37Z")

</div>

Hey @nat - I just realized I never updated you. I went through with your migration and it went great thank you!! Really appreciate it 🙂

The only issue I encountered was the step converting the dump to an insert statement. For some reason, a few lines didn’t get the string markers (') around the dates. I’m guessing there was a slight bug in your sed statements, but my sed knowledge is… _very_ limited.

Anyway, I was able to hand edit them quick and it worked beautifully!

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [July 13, 2023, 4:22am UTC](https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653/9 "2023-07-13T04:22:47Z")

</div>

Thanks for the update, glad it worked out.

> [@sweetbeems](#):
>
> For some reason, a few lines didn’t get the string markers (') around the dates.

Oof.. sorry about that. As you can imagine the date strings I had were only a handful and to be honest I’m not sure why the date formats would differ across records. 🤔

Any chance you still remember which dates those are? (If not, it’s fine)

---

<div class="post-metadata">

### Author: ![sweetbeems](https://avatars.discourse-cdn.com/v4/letter/s/7c8e57/32.png) [@sweetbeems](https://meta.discourse.org/u/sweetbeems)
#### Post date: [July 13, 2023, 6:40am UTC](https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653/10 "2023-07-13T06:40:29Z")

</div>

> [@nat](#):
>
> Any chance you still remember which dates those are? (If not, it’s fine)

So, looking at it again, I think it’s because you assumed the number of decimals in the seconds would be 6 digits. Here’s all of my bad data and it looks like it’s all less than 6 decimals:

> **Bad rows**
>
> ```plaintext
> 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;
> 
> ```

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [July 18, 2023, 4:23am UTC](https://meta.discourse.org/t/migration-issue-around-de-duping-poll-votes/269653/11 "2023-07-18T04:23:02Z")

</div>

This topic was automatically closed after 4 days. New replies are no longer allowed.
