So habe ich diese Triggerprozedur in meinem structure.sql:Trigger-Verfahren zeigt, die nicht oben in der Staging/Produktion
CREATE FUNCTION dead_filter() RETURNS TRIGGER AS $dead_filter$
BEGIN
IF (NEW.all_votes > 6 AND NEW.non_skip_votes/NEW.all_votes::float < 0.56) THEN
NEW.dead := true;
RETURN NEW;
END IF;
RETURN NEW;
END;
$dead_filter$ LANGUAGE plpgsql;
CREATE TRIGGER dead_filter AFTER UPDATE ON statements
FOR EACH ROW
EXECUTE PROCEDURE dead_filter();
Und es funktioniert lokal ganz gut, aber aus irgendeinem Grund es ist in meiner Inszenierung zeigt und Produktionsserver!
Beide leben auf einer Heroku App, und beide haben
config.active_record.schema_format = :sql
in ihren jeweiligen Konfigurationsdateien. Was fehlt mir hier?
enthält nicht meinen Auslöser für Staging/Produktion, sondern lokal, auf Entwicklung.
Gibt es etwas, das ich ausführen muss, um die Struktur.sql-Datei erneut lesen zu lassen? Backend ist definitiv meine Schwachstelle, also wenn es etwas sehr Offensichtliches gibt, hätte ich wissen müssen ... Chancen sind, dass ich es nicht wusste!
Danke!
Dies kann eine dumme Frage sein, aber haben Sie Migrationen in Ihrer Produktionsdatenbank ausgeführt, die diesen Trigger tatsächlich hinzufügt? –
Dumme Fragen sind die, nach denen ich suche! Es stellte sich heraus, dass meine Ignoranz durchschimmerte - ich hatte den Eindruck, dass ich einfach meine Struktur (die mit Localhost funktionierte) den Auslöser hinzufügen konnte und es würde einfach automatisch auf Staging und Prod ... funktionieren Fall! Ich habe eine Migration hinzugefügt und kann sie nun in pg_trigger von staging sehen. Wenn Sie Ihren Kommentar zu einer Antwort machen möchten, würde ich mich freuen, sie zu akzeptieren! –