ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "groups" does not exist LINE 1: SELECT "groups"."id", "groups"."name" FROM "groups" WHERE
yellow
Failed to handle exception in exception app middleware : PG::UndefinedTable: ERROR: relation "groups" does not exist LINE 1:
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) could not be found: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) could not be found: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
Stiamo utilizzando Discourse dietro un reverse proxy, quindi tutti gli utenti hanno lo stesso indirizzo IP e avremmo bisogno della ricerca GeoIP. Non vedo lâopzione per disabilitare completamente la ricerca dellâIP, invece di dover passare attraverso il processo di registrazione e ottenere una licenza per qualcosa di cui non abbiamo bisogno, solo per eliminare gli errori dai logâŚ
Manca una impostazione per disabilitare questa funzionalitĂ ?
Non sarebbe ragionevole nascondere e saltare la ricerca GeoIP dalle impostazioni di amministrazione dellâutente, se non fosse stata configurata alcuna chiave di licenza? O invece mostrare unâinformazione/segnaposto che la ricerca GeoIP sarebbe possibile impostando una chiave di licenza seguendo Configure MAXMIND for reverse IP lookups?
Scorrere i log degli errori per monitorare il funzionamento del sistema è una buona pratica, ed è fastidioso dedicare tempo a indagare sugli errori, solo per scoprire che sono previsti perchĂŠ si tenta unâoperazione che ci si aspetta fallisca per impostazione predefinita e che potrebbe essere facilmente saltata controllando una singola impostazione .
Posso provare ad aprire una PR su GitHub, se fondamentalmente siete dâaccordo. Ma probabilmente sto trascurando qualcosa e non è cosĂŹ facile o ha degli svantaggi che non vedo.
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) non è stato trovato: Nessun file o directory di questo tipo @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) non è stato trovato: Nessun file o directory di questo tipo @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
âŚma stavo solo cercando un modo per sopprimerle.
Ă stato nuovamente annullato poichĂŠ era troppo complicato adattare i test automatici per essi. Ă stato fatto un tentativo, ma questi hanno riaggiunto gli avvisi, vanificando lo scopo del mio PR in primo luogo:
Quindi entrambi annullati:
Il problema piĂš probabile è stato rendere la lettura del database dipendente dallâesistenza di una chiave MaxMind. Il database, tuttavia, può essere aggiunto in altri modi. Nella nostra istanza, nel frattempo aggiungiamo database gratuiti DB-IP, che non richiedono un account. Quindi il mio PR avrebbe interrotto il modo in cui lo facciamo ora. La stessa cosa ha causato il fallimento dei test che ho corretto nel mio PR. Ma sul branch principale e/o in alcuni plugin ciò ha probabilmente causato altri problemi.
Una soluzione migliore, se qualcuno vuole riprovare, sarebbe controllare se i file del database esistono, prima di tentare di caricarli, invece di verificare se la chiave di licenza è definita. Quindi qui:
Solo se File.join(path, "GeoLite2-City.mmdb") esiste, caricalo con mmdb_load.
Anche lâoutput GUI modificato potrebbe essere stato un problema per alcuni test, ma dovrebbe essere possibile aggiungerlo senza rompere i test, come fallback solo se non è disponibile alcuna posizione e quindi il rispettivo flag è vero, che è stato impostato con ret[:no_license] = true. Ma dovrebbe essere rinominato in no_db o qualcosa di simile per indicare che non si tratta di sapere se è stata definita una chiave di licenza MaxMind, ma se i file effettivi del database esistono o meno.
Grazie per le informazioni! Sembra sensato controllare i file prima di tentare di caricarli. Non sono la persona adatta a sviluppare una soluzione, quindi proverò ad abilitare MaxMind per ridurre il disordine nel mio log.