Ich habe vor kurzem einige SQL-Funktionen zu meiner Datenbank über eine Migration hinzugefügt, und sie funktionieren einwandfrei. Code funktioniert, Datenbank funktioniert, Tests nicht. Die schema.rb-Datei sagt mir, dass es die neueste Version (und es ist korrekt), aber es enthält nur Definitionen für Tabellen und Indizes, nicht die Funktionen, die ich hinzugefügt habe.Warum fügt Rake db: migrate in Rails keine Funktionen zur Schemadatei hinzu?
Ich habe die Funktionen über die Methode "execute()" in meiner Migration hinzugefügt und benötigt sie in der Testdatenbank, damit die RSpec-Tests bestanden werden (Unternehmensrichtlinien schreiben vor, dass ich diese Änderungen erst bestätigen kann, wenn dies behoben ist). .
Weiß jemand, warum das passiert oder wie man es beheben kann? Ich kann manuell in die MySQL-Befehlszeile gehen und die Funktionen hinzufügen, aber dann werden sie gelöscht, wenn jemand das nächste Mal eine db ausführt: test: prepare. Ich brauche eine Lösung, die automatisiert werden kann.
Vielen Dank für jede Hilfe und Antworten,
-Mike Trpcic
Steve, Sie haben alle Informationen gefunden, die ich nicht konnte. Vielen Dank, es ist schön, endlich eine Antwort zu haben. –
Ich schaue mir lieber das: Ruby Format an. Ich wünschte, es gäbe eine Möglichkeit, bestimmte Migrationen anzugeben, die bei jedem Laden der Datenbank aus schema.rb automatisch ausgeführt werden. –