Ciao,
sto cercando di configurare un server Discourse ospitato su una coppia di server che agiranno come coppia di failover. Per farlo, devo che entrambi comunichino con lo stesso database. Ho già un server PostgreSQL in esecuzione altrove, quindi ho seguito le istruzioni qui e sembra che la connessione funzioni correttamente. Tuttavia, quando provo a ricostruire l’applicazione, ricevo il seguente errore:
I, [2019-07-23T17:33:20.623719 #14] INFO – : > cd /var/www/discourse && su discourse -c ‘bundle exec rake
db:migrate’
rake aborted!
StandardError: Si è verificato un errore; questa e tutte le successive migrazioni sono state annullate:
PG::UndefinedTable: ERRORE: la relazione “selected” non esiste
LINE 7: OR (t.closed AND tsp.execute_at >= now())
^
: WITH selected AS (
SELECT tsp.id
FROM topic_status_updates tsp
JOIN topics t
ON t.id = tsp.topic_id
WHERE tsp.execute_at < now()
OR (t.closed AND tsp.execute_at >= now())
)
UPDATE topic_status_updates
SET deleted_at = now(), deleted_by_id = -1
WHERE id in (SELECT * FROM selected)
Quando accedo al database di Discourse, non esiste alcuna tabella chiamata ‘selected’. Cosa posso fare per risolvere il problema? Avevo un’istanza funzionante quando era ospitata localmente su un singolo server; questo problema si è manifestato solo dopo aver spostato il database.