Hallo zusammen, ich habe ein seltsames Problem mit einem Forum, das ich betreue.
Während eines Upgrades ist auf der Seite admin/upgrade oder im Terminal ein Fehler aufgetreten, und ich erhalte folgende Meldung:
--------------------------------------------------------------------------------
1 Migration fehlgeschlagen!
Migration von „default" fehlgeschlagen
#<ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_screened_ip_addresses_on_ip_address"
DETAIL: Key (ip_address)=(10.0.0.0/8) already exists.
Zum Glück habe ich das Forum nicht zerstört. Der Befehl ./launcher restart app (bzw. ./launcher destroy app / ./launcher start app) hat mir bereits einmal geholfen, als ich nach einem Neustart eine leere Seite hatte. Es besteht also kein Notfall, weshalb ich mich nach einer Anleitung erkundigen möchte.
Ich habe mich entschlossen, die Datenbank zu untersuchen. Ich habe einige Verweise auf die IP 10.0.0.0/8, die wie Protokolle aussehen, aber in der Tabelle screened_ip_addresses finde ich keine Duplikate.
--
-- TOC-Eintrag 6829 (class 0 OID 382198)
-- Abhängigkeiten: 657
-- Daten für Name: screened_ip_addresses; Typ: TABLE DATA; Schema: public; Owner: -
--
COPY public.screened_ip_addresses (id, ip_address, action_type, match_count, last_match_at, created_at, updated_at) FROM stdin;
236 10.0.0.0/8 2 0 \N 2020-05-24 19:44:41.587257 2020-05-24 19:44:41.587257
237 192.168.0.0/16 2 0 \N 2020-05-24 19:44:47.150337 2020-05-24 19:44:47.150337
239 172.16.0.0/12 2 0 \N 2020-05-24 19:44:57.347656 2020-05-24 19:44:57.347656
240 fc00::/7 2 0 \N 2020-05-24 19:45:02.270948 2020-05-24 19:45:02.270948
261 154.71.107.147 1 0 \N 2020-06-05 13:15:17.718236 2020-06-07 00:27:57.204765
257 154.126.107.81 1 0 \N 2020-06-02 09:51:31.191431 2020-06-07 00:27:58.538628
259 197.1.186.242 1 0 \N 2020-06-05 08:39:52.218198 2020-06-07 00:27:58.985867
258 89.158.72.7 1 0 \N 2020-06-02 20:44:41.584317 2020-06-07 00:27:59.542337
260 196.179.229.13 1 0 \N 2020-06-05 08:39:52.227515 2020-06-07 00:28:00.288445
238 127.0.0.0/8 2 0 \N 2020-05-24 19:44:52.369958 2020-05-24 19:44:52.369958
Der Forum-Administrator teilte mir mit, dass er einige IPs auf der Seite /admin/logs/screened_ip_addresses bereinigt und einige hinzugefügt hat. Ich bezweifle jedoch, dass er diese IP berührt hat. Das Seltsame ist, dass angegeben wird, die IP sei vor 14 Tagen hinzugefügt worden (das war das letzte Mal, als ich ein Upgrade durchgeführt habe, wahrscheinlich das PostgreSQL-Upgrade), obwohl das Forum aus dem Jahr 2015 stammt. Bei anderen Foren wird das Erstellungsdatum überprüft.
Ich vermute also, dass die Tabelle etwas durcheinander ist, aber es sieht nicht wirklich so aus.
Ich möchte mein Glück nicht zu sehr herausfordern, besonders weil ich nicht gut in SQL bin. Daher möchte ich eine Anleitung zum Vorgehen haben, um sicherzustellen, dass ich sicher upgraden kann: ![]()
Sollte ich die Seite /admin/logs/screened_ip_addresses bereinigen, versuchen, Einträge für diese Tabelle oder eine andere zu löschen?
