PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Rails schema.rb enthält keine neue benutzerdefinierte Postgres-Funktion

schema.rb handhabt nicht (siehe Abschnitt 6.2 der Rails 3.2.x-Anleitungen und Abschnitt 7.2 der Rails 4-Anleitungen) Ansichten oder benutzerdefinierte Funktionen. Wir haben eine Ansicht in unserer Anwendung und das Schema funktioniert nicht dafür.

Wir verwenden structure.sql Stattdessen, da dies unsere Ansicht richtig einrichtet und meiner Meinung nach dasselbe hier für benutzerdefinierte Funktionen gelten würde. So verwenden Sie structure.sql anstelle von schema.rb:

Sie können auch eine Kombination aus schema.rb verwenden (für reguläre Tabellen &Index) und structure.sql (für benutzerdefinierte Funktionen). So richten Sie diese Kombination für Testumgebungen ein:

bundle exec rake db:schema:load
bundle exec rake db:structure:load

Beachten Sie bei diesem Setup, dass die structure.sql manuell gepflegt werden muss, während schema.rb von Rails für Sie gepflegt wird.