Was ich tun möchte, zählt alle Objekte in der Datenbank. Ich begann mit etwas wie folgt aus:So zählen Sie alle Objekte in der Datenbank über Active Record
p ["TOTAL COUNT", ApplicationRecord.subclasses.sum(&:count)]
Aber beim Experimentieren fand ich ...
[5] pry(main)> ApplicationRecord.subclasses.count => 6
Was ich viel mehr als das zurückerwartet. Ich kann die Unterklassen untersuchen und feststellen, dass einige fehlen.
Dann fand ich ....
[8] pry(main)> ActiveRecord::Base.descendants.count => 10
die ein paar mehr hinzugefügt. Wieder kann ich sie einzeln untersuchen, und ich bemerkte, dass einige fehlten. Hier ist ein Beispiel für einen, der fehlt ...
Wie kann ich sicherstellen, dass diese auch enthalten sind?
Sorry, warum brauchen Sie das? Vielleicht, wenn Sie den vollständigen Geschäftsfall beschreiben, hilft es, es mit einer normalen Lösung zu lösen. Weil du fragst, ist ein bisschen seltsam. –
Also, was meinst du mit "alle Objekte"? Alle Domains (AR-Klassen) oder alle Zeilen in allen Tabellen Ihrer Datenbank (alle AR-Instanses)? –
@MaxVinogradov Ich suche nach allen AR-Instanzen oder Zeilen in der Tabelle. Ich habe eine Gurkensuite, die ein absolutes Durcheinander ist und ich vermute, dass es sehr langsam ist, weil man Fabriken benutzt, die viel mehr Objekte als nötig erschaffen. Ich möchte die schlimmsten Täter der Objekterstellung finden und sehen, ob ich diese Tests zuerst beheben kann. Ist das sinnvoll? –