Als u database-specifieke functies nodig heeft of wilt hebben die ActiveRecord niet begrijpt, moet u overschakelen naar db/structure.sql voor het bijhouden van uw schema. db/structure.sql is zo'n beetje een onbewerkte dump van je schema gemaakt met behulp van de native tools van de database, dus het zal triggers, CHECK-beperkingen, indexen op functieresultaten en al het andere bevatten.
Overstappen is eenvoudig:
- Update uw
config/application.rbomconfig.active_record.schema_format = :sqlte bevatten . - Doe een
rake db:structure:dumpom een initiëledb/structure.sql. te krijgen . - Verwijder
db/schema.rbvanuit uw directorystructuur en revisiebeheer. - Voeg
db/structure.sqltoe naar revisiecontrole. - Pas je rake-gewoonten aan:
- Gebruik
db:structure:dumpin plaats vandb:schema:dump - Gebruik
db:structure:loadin plaats vandb:schema:load
- Gebruik
Al het andere zou normaal moeten werken (ervan uitgaande natuurlijk dat je gezond bent en PostgreSQL gebruikt voor ontwikkeling, testen en productie).
Met deze wijziging worden uw triggers bijgehouden in db/structure.sql en het opnieuw aanmaken van de database zal ze niet kwijtraken.